带斜杠的Java正则表达式匹配
我想匹配单词“不适用”或“无” 所以我用带斜杠的Java正则表达式匹配,java,regex,string,match,Java,Regex,String,Match,我想匹配单词“不适用”或“无” 所以我用 public static final String NA = "/^(n\\/a|none)$/i"; 它在java中不起作用。您能帮忙吗?Java不使用/作为正则表达式文本。(无需转义/本身)。如果要忽略大小写,可以在正则表达式中使用修饰符(?i): String NA = "^(?i)(n/a|none)$"; 或者,您可以在编译模式时使用 String NA = "^(n/a|none)$"; Pattern p = Pattern.comp
public static final String NA = "/^(n\\/a|none)$/i";
它在java中不起作用。您能帮忙吗?Java不使用
/
作为正则表达式文本。(无需转义/
本身)。如果要忽略大小写,可以在正则表达式中使用修饰符(?i)
:
String NA = "^(?i)(n/a|none)$";
或者,您可以在编译模式时使用
String NA = "^(n/a|none)$";
Pattern p = Pattern.compile(NA, Pattern.CASE_INSENSITIVE);
要匹配Java中的“不适用”或“无”,请使用:
(?i)\b(?:n/a|none)\b
作为转义的java字符串:
"(?i)\\b(?:n/a|none)\\b"
检查是否有正斜杠或反斜杠 正则表达式将被写为
(?i)n[/|\\\]a | none
要在字符串中使用此选项,您需要转义反斜杠:
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”=真
“无”=正确
“na”=假
@Feng,不客气。顺便说一句,我忘了提到你不需要转义/
.regex=(?I)n[/\\]a | none,string literal=(?I)n[/\\\\]a | none你想找到这些单词,还是想测试整个字符串是否是这些单词中的一个?