use*_*094 3 regex perl mod-perl
我需要一个正则表达式来匹配除Q以外的任何字符或单词.
我尝试使用表达式
/\b((?!(Q)).+?)\b/
Run Code Online (Sandbox Code Playgroud)
但它不起作用!
你是在试图禁止"Q"这个词,还是包含"Q"的词?
使用双重否定:"(\ w而不是Q)的字符"是"不是(不是 - 或W)的字符".
[^\WQ] => /\b([^\WQ]+)\b/
Run Code Online (Sandbox Code Playgroud)
你也可以用
(?!Q)\w => /\b((?:(?!Q)\w)+)\b/
Run Code Online (Sandbox Code Playgroud)
我认为第一个更快.
/\b(Q\w+|[^\WQ]\w*)\b/
Run Code Online (Sandbox Code Playgroud)
要么
/\b(?!Q\b)(\w+)\b/
Run Code Online (Sandbox Code Playgroud)