我想匹配单词" N / A"或"无"。
所以我用了
public static final String NA = "/^(n\\/a|none)$/i";
它在java中不起作用。你能帮忙吗?
答案 0 :(得分:2)
Java不使用/
作为正则表达式文字。 (无需逃避/
本身)。如果要忽略大小写,可以在正则表达式中使用修饰符(?i)
:
String NA = "^(?i)(n/a|none)$";
或者,您可以在编译模式时使用Pattern.CASE_INSENSITIVE
。
String NA = "^(n/a|none)$";
Pattern p = Pattern.compile(NA, Pattern.CASE_INSENSITIVE);
答案 1 :(得分:0)
匹配" N / A"或"无"在Java中使用:
(?i)\b(?:n/a|none)\b
作为转义的java字符串:
"(?i)\\b(?:n/a|none)\\b"
答案 2 :(得分:0)
检查正斜杠或反斜杠
正则表达式将写为(?i)n[/|\\]a|none
要在String中使用它,你需要转义反斜杠:
String pattern = "(?i)n[/|\\\\]a|none";
String[] array =
{
"N/a",
"n\\a",
"NonE",
"na"
};
for(String item : array)
{
System.out.println("\"" + item + "\" = " + item.matches(pattern));
}
控制台:
"N/a" = true
"n\a" = true
"NonE" = true
"na" = false