java - 存储带有未知字符的字符串

标签 java regex string character

假设我有一个词“Tyre”。在某些国家/地区,拼写有所不同 - Tire

是否可以在Java中存储字符串,例如T y|i re,如果我检查,也许使用正则表达式,它会返回true 喜欢

String compare = "Ty|ire";
String detail = "Tyre";
String detail2 = "Tire";
System.out.println(detail.equalsIgnoreCase(compare))  // prints "true"
System.out.println(detail2.equalsIgnoreCase(compare)) // also "true"

最佳答案

您正在寻找character class正则表达式,字符串比较 = "T[yi]re";[yi] 构造匹配 yi。添加 (?i) (嵌入的 Pattern.CASE_INSENSITIVE 选项)以不区分大小写的方式进行匹配:

String compare = "(?i)T[yi]re";
String detail = "Tyre";
String detail2 = "Tire";
System.out.println(detail.matches(compare));  // prints "true"
System.out.println(detail2.matches(compare)); // also "true"

请参阅online Java demo

如果必须交替字符串的多字符部分,请使用交替组、(y|ies)(?:y|ies).

关于java - 存储带有未知字符的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40598593/

相关文章:

java - 依赖问题 "SpringBootServletInitializer cannot be resolved to a type"

java - 在一个项目中运行两个带有 main 的类

python - Vim 语法高亮 : highlight `self` python keyword with regex

python - 如果列表包含字符串,则打印列表中包含它的所有索引/元素

c - 如何计算一个文本字符串中有多少个不同的字母?

string - Fortran 77 中的字符串数组

java - 使用 DataOutputStream 写入大字符串

java - 查找结束 XML 标记

php - 正则表达式在字符串中查找单词

java - 惰性(贪婪)使用正则表达式匹配多个组