将正则表达式量词合并到括号中
Incorporate regex quantifier into brackets
我正在尝试合并以下负先行正则表达式
^(?!\*\*)
进入以下正则表达式
^([a-z]:)?(\[^<>:"/\|?;,$=%@~]+)+\?$
基本上,我不希望两个连续的星号 (**
) 出现在文件路径中的任何位置。我如何修改块 [^<>:"/\|?;,$=%@~]
以包含此条件?我尝试使用转义字符,但无济于事。
I don't want two consecutive asterisk (**
) to appear anywhere in the file path
只需在您的正则表达式之前添加这个否定前瞻:
/^(?!.*?\*\*)([a-z]:)?(\[^<>:"/\|?;,$=%@~]+)+\?$/mg
如果输入中有两个*
,^
之后的(?!.*?\*\*)
将避免匹配输入。
您可以在第二个模式的开头将其添加为否定前瞻:
^(?!.*\*\*)([a-z]:)?(\[^<>:"/\|?;,$=%@~]+)+\?$
见demo
我正在尝试合并以下负先行正则表达式
^(?!\*\*)
进入以下正则表达式
^([a-z]:)?(\[^<>:"/\|?;,$=%@~]+)+\?$
基本上,我不希望两个连续的星号 (**
) 出现在文件路径中的任何位置。我如何修改块 [^<>:"/\|?;,$=%@~]
以包含此条件?我尝试使用转义字符,但无济于事。
I don't want two consecutive asterisk (
**
) to appear anywhere in the file path
只需在您的正则表达式之前添加这个否定前瞻:
/^(?!.*?\*\*)([a-z]:)?(\[^<>:"/\|?;,$=%@~]+)+\?$/mg
如果输入中有两个*
,^
之后的(?!.*?\*\*)
将避免匹配输入。
您可以在第二个模式的开头将其添加为否定前瞻:
^(?!.*\*\*)([a-z]:)?(\[^<>:"/\|?;,$=%@~]+)+\?$
见demo