Javascript 如何忽略正则表达式中的某些字符?

Javascript 如何忽略正则表达式中的某些字符?,javascript,regex,Javascript,Regex,我有一个几乎用Javascript工作的正则表达式模式。唯一的问题是我不想拾取“|”或“&”字符。这是我目前的情况 /^!?[^:(){},'[]+-]+$|[a-zA-Z0-9-_]+/ 谁能告诉我,我需要做什么来阻止正则表达式拾取这两个字符作为这一部分?谢谢 您可以使用负前瞻来避免在输入中匹配这些字符: /^(?![^|&]*[|&])!?[^:(){},'[]+-]+$|[a-zA-Z0-9-_]+/ 允许哪些字符?分享一些预期输出的示例。谢谢-您完美地回答了我的问题!

我有一个几乎用Javascript工作的正则表达式模式。唯一的问题是我不想拾取“|”或“&”字符。这是我目前的情况

/^!?[^:(){},'[]+-]+$|[a-zA-Z0-9-_]+/

谁能告诉我,我需要做什么来阻止正则表达式拾取这两个字符作为这一部分?谢谢

您可以使用负前瞻来避免在输入中匹配这些字符:

/^(?![^|&]*[|&])!?[^:(){},'[]+-]+$|[a-zA-Z0-9-_]+/

允许哪些字符?分享一些预期输出的示例。谢谢-您完美地回答了我的问题!我能再问你一个问题吗?如果您想向前看并匹配这两个字符(而不是像我们所做的那样不匹配它们),您将如何做同样的事情?感谢使用这个正则表达式:
/^(?=[^ |和]*[|和]!?[^:({},[]+-]+$|[a-zA-Z0-9-|]+/