1
建议在捕获组内使用锚定器吗?我试图用该模式来模拟lookbehind操作来匹配行开始或空白。在JavaScript中是(^ | s)有效的正则表达式吗?
例如,要匹配行首或空白后面的#标签,他们会结束行或者后面有空白,是否有更好的方法来做到这一点?
(^|\s)#([\w]+)($|\s)
为了简单起见,我留下了非捕获组。
建议在捕获组内使用锚定器吗?我试图用该模式来模拟lookbehind操作来匹配行开始或空白。在JavaScript中是(^ | s)有效的正则表达式吗?
例如,要匹配行首或空白后面的#标签,他们会结束行或者后面有空白,是否有更好的方法来做到这一点?
(^|\s)#([\w]+)($|\s)
为了简单起见,我留下了非捕获组。
在你的情况下(^|\s)
是需要在组内,因为它在变化中使用。
它说BOS 或空白,但不是两者。
Fwiw,(^|\s)
是一个典型的空白边界,它不需要组。
这是相当于(?<!\S)
。
但JS不支持查看断言,所以你不得不离开它。
另一方(\s|$)
它将是(?!\S)
它使用JS支持的预见断言。
欢迎来到SO!请提供一些(更多)代码,以便我们能够帮助您 - 否则:这取决于... – Jan
我只会保留原样或将其更改为'(^ | \ s)#([\ w] +)(?!\ S)' – sln