我需要使用C ++ Regex(ECMAscript或其他)匹配单词边界,但在这种特殊情况下我发现自己,必须更改被认为是word-char的标准。
默认情况下,\w
= [A-Za-z0-9_]
和\W
= [^\w]
。
但有时情况要求?
,!
,,
等特殊字符也被视为字词。
基本上,如果\b
被欺骗认为\w
是\S
且\W
是\s
,我会很高兴。
有办法吗?
P.S。我目前正在尝试模拟这个并且表达看起来很难看。如果我让\b
按照我的意愿行事会很好。 此外,如果\b
的新定义仅在我想要的位置激活,那将会很好,而在其他地方,应该使用\b
的原始定义。
我能找到的最接近的问题是this。 OP希望以\b
结束表达式,但不能因为*
不是word-char。如果他仍然想用一个单词边界来结束它但*
被视为一个单词char?该怎么办?