将前瞻和后视与 or ( | ) 结合使用
using lookahead and lookbehind with or ( | )
我正在尝试匹配一些前后没有白色 space 的特殊字符。
通常 ww 之前的连字符和 ww 之后的连字符应该匹配。
这是我写的以下正则表达式:
(?
我也试过这个:
((?
但前后带有白色 space 的连字符也匹配。 (应该不是这样的)
你能告诉我我做错了什么吗?
感谢您的帮助!
当 (?<!\s)([.([\]!):,+"\/-])(?!\s)
正则表达式前面没有空格或后面有空格时,特殊字符匹配将失败。
((?<!\s)|(?!\s))([.([\]!):,+"\/-])
正则表达式匹配前面没有空格的特殊字符,或者要求特殊字符(与 [.([\]!):,+"\/-]
匹配)不是空格字符((?!\s)
在使用模式 限制 此模式之前)。
您需要确保只有在两端都包含空白字符的情况下匹配才会失败:
[.([\]!):,+"\/-](?!(?<=\s.)\s)
(?<!\s)[.([\]!):,+"\/-]|[.([\]!):,+"\/-](?!\s)
见regex demo #1 and regex demo #2
请注意,[.([\]!):,+"\/-](?!(?<=\s.)\s)
匹配一个特殊字符(带有 [.([\]!):,+"\/-]
),它后面没有紧跟一个空格的空格和任何一个字符(实际上,.
用于简单匹配此处的特殊字符)。
(?<!\s)[.([\]!):,+"\/-]|[.([\]!):,+"\/-](?!\s)
模式匹配前面没有紧接空格的特殊字符,或者匹配后面没有空格的特殊字符。
我正在尝试匹配一些前后没有白色 space 的特殊字符。
通常 ww 之前的连字符和 ww 之后的连字符应该匹配。
这是我写的以下正则表达式: (?
我也试过这个:
((?
但前后带有白色 space 的连字符也匹配。 (应该不是这样的)
你能告诉我我做错了什么吗? 感谢您的帮助!
当 (?<!\s)([.([\]!):,+"\/-])(?!\s)
正则表达式前面没有空格或后面有空格时,特殊字符匹配将失败。
((?<!\s)|(?!\s))([.([\]!):,+"\/-])
正则表达式匹配前面没有空格的特殊字符,或者要求特殊字符(与 [.([\]!):,+"\/-]
匹配)不是空格字符((?!\s)
在使用模式 限制 此模式之前)。
您需要确保只有在两端都包含空白字符的情况下匹配才会失败:
[.([\]!):,+"\/-](?!(?<=\s.)\s)
(?<!\s)[.([\]!):,+"\/-]|[.([\]!):,+"\/-](?!\s)
见regex demo #1 and regex demo #2
请注意,[.([\]!):,+"\/-](?!(?<=\s.)\s)
匹配一个特殊字符(带有 [.([\]!):,+"\/-]
),它后面没有紧跟一个空格的空格和任何一个字符(实际上,.
用于简单匹配此处的特殊字符)。
(?<!\s)[.([\]!):,+"\/-]|[.([\]!):,+"\/-](?!\s)
模式匹配前面没有紧接空格的特殊字符,或者匹配后面没有空格的特殊字符。