我有这个正则表达式:(*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('а проверка б'))