如何编写一个正则表达式,匹配除左括号和右括号以及它们之间的任何内容之外的所有内容
How do I write a regular expression that matches everything except a left and right parenthesis and anything between them
我正在使用javascript,我正在尝试编写一个正则表达式,该表达式与左括号和右括号以及它们之间的任何内容匹配。 在做了一些研究之后,我在Stackoverflow上提出了一个类似的例子。 在此特定示例中,以下正则表达式用于匹配除 999 之外的任何三位数字。
[(?!999)('d{3})][1]
此正则表达式按预期工作,匹配 555 或 444 或 333,但不匹配 999。
我希望我的正则表达式匹配如下:
John Smith => John Smith
John Smith (RET) => John Smith
Mr. John Smith's (RET) (1st) => Mr. John Smith's
John William Smith (RET) => John William Smith
John => John
这是我到目前为止所拥有的,但它不起作用:
(?!'([A-Za-z]?'))(.*)
谁能告诉我哪里出错了。
一个更明显(对我来说,无论如何)方法是将 String.replace 方法与正则表达式一起使用:
"John Smith (RET) (1st) SomethingElse".replace(/'([^')]*')/g, '');
但是,这不包括嵌套括号,以防万一。 在这种情况下,这个答案建议使用 XRegExp 来添加在 Perl 兼容的正则表达式中找到的递归参数。
这是你要找的吗:
[^'(')]*
我添加了一个带有输入的插图,该输入在有效匹配时变为绿色,在无效匹配时变为红色
input:focus:invalid {
background:red;
}
input:focus:valid {
background:green;
}
<input class="pattern" pattern = "[^'(')]*" />
[^)](?![^(]*'))
试试这个。请参阅演示。
https://regex101.com/r/wZ0iA3/1
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- jQuery中是否内置了任何字符串格式化函数
- 是否有任何JavaScript UI组件可以显示字符串之间的差异
- 有人知道有没有jquery插件可以在图像上写文本,并让用户将其放置在图像内的任何位置
- Javascript集:任何覆盖元素之间比较的方法
- 是否有任何内置方法可以更改JavaScript对象'的属性设置为某个值
- Chrome审核:在外部CSS文件之间的头中发现了1个内联脚本块&”;
- AngularJS-检测到n分钟内没有任何操作并进入默认状态
- 如何使用moment.js获取24小时内日期之间的时差
- JavaScriptV5中的绑定和JQuery之间有任何关系吗
- 使用 CasperJS 时,是否可以在执行任何内联或外部 Javascript 之前与加载页面的 DOM 进行交互
- 找不到“”;应用程序“;模板或视图.对象{fullName:“template:application”}将不呈现任何内
- 如何在没有任何内置函数的情况下将元素添加到数组中
- 如何获得元素id点击没有任何内联函数调用在javascript
- 在javascript/jquery中是否有任何内置功能来过滤邮件,如php's函数(!使用filter_var
- 在JavaScript中过滤数组,而不使用任何内置函数或新数组
- Jquery是否有任何内置方法来单独查找可验证的元素?
- 我试图在不使用任何内置方法的情况下延迟此函数.为什么这行不通呢?
- 如何在不使用javascript中任何内置函数的情况下反转字符串
- Angular Bootstrap-ui 是否有任何内置函数来处理打开或关闭的东西