Regex JFlex正则表达式中的特殊字符
我想在JFlex的正则表达式中包含所有特殊字符。所以我准备了一个如下Regex JFlex正则表达式中的特殊字符,regex,jflex,Regex,Jflex,我想在JFlex的正则表达式中包含所有特殊字符。所以我准备了一个如下 P = ("_"|"-"|"/"|"."|","|"~"|"!"|"@"|"#"|"$"|"%"|"^"|"&"|"*"|"|"|"("|")"|"="|"+"|"|"|"\"|":"|";"|"""|"<"|">"|"?"|"`"|"{"|"}"|"["|"]"|"'") 以下代码>P P
P = ("_"|"-"|"/"|"."|","|"~"|"!"|"@"|"#"|"$"|"%"|"^"|"&"|"*"|"|"|"("|")"|"="|"+"|"|"|"\"|":"|";"|"""|"<"|">"|"?"|"`"|"{"|"}"|"["|"]"|"'")
以下代码>P P
要解决问题,您需要使用反斜杠
\\
来避开反斜杠\
定义这些字符的一个更简单的方法是使用一个
[-/.,~!@$%^&*.(){}\[\]?=+\\:;“`]
您可以继续向类中添加要包含的字符
注意:您可以在中引用特殊字符,以将正则表达式中的所有特殊字符包含在JFlex中 我认为排除数字、字母、空格和制表符比提及所有其他可能性更容易。 使用此正则表达式:
[^0-9a-zA-Z\n\t ]?
你可以把它们组合在一起。[\-\/~]等。编译错误是由转义序列引起的。如果是:P=(“U““““””””“““““““;””“““““““““““;””““““”””;““““““““““““““;;”(”(U U U U““““““““;;;;;;;;;;;;““““““““;;;;;;;”””“““““““““““;;;;;;;;;””””””;;;;;;;;;;;““““““““““““““““““;;;;;;;;;””””””,”,”,”,”,””””””””;;;;;;“““““““““““““““““““““““““““““““““““““““““““““您必须在
“\”
中避开反斜杠。您是否希望匹配“所有内容而不是空格或单数”?(可以表示为[^\s0-9A-Za-z]
而且你不能意外忘记一个字符。)在我身上工作。只是“,”和^缺少。但是在一个字符类中只有5个特殊字符;除了[
,]
,^
当第一个字符时,-
当不是第一个或最后一个字符时,当然还有反斜杠,所有字符都失去了它们的特殊意义。@Bohemian这是正确的,元字符序列和ascii字符类除外。
[^0-9a-zA-Z\n\t ]?