如何在正则表达式中使`\ b`表现得好像`\ w = \ S`和`\ W = \ s`?

时间:2016-07-20 16:38:39

标签: c++ regex c++11

我需要使用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?该怎么办?

0 个答案:

没有答案