我有这个正则表达式:(*UCP).*\bпроверка\b.*.它在 regex101.com ( https://regex101.com/r/9elF5c ) 上运行良好,但在 JavaScript 中却不行。
const regex = /(*UCP).*\bпроверка\b.*/
console.log(regex.test('а проверка б'))
有人可以解释一下问题是什么以及如何解决它
我有这个正则表达式:(*UCP).*\bпроверка\b.*.它在 regex101.com ( https://regex101.com/r/9elF5c ) 上运行良好,但在 JavaScript 中却不行。
const regex = /(*UCP).*\bпроверка\b.*/
console.log(regex.test('а проверка б'))
有人可以解释一下问题是什么以及如何解决它
Using(*UCP)是PCRE支持的修饰符。
Javascript中的错误是因为这种语法不起作用(*括号是一个特殊的字符,*而是一个量词。
如果字符串的左右两边应该有空白边界:
.*(?<!\S)проверка(?!\S).*
const regex = /.*(?<!\S)проверка(?!\S).*/
console.log(regex.test('а проверка б'))