regex - 包含任何字母的正则表达式括号
问题描述
我需要找到包含任何字母的括号。例如:
a17(1d34) xc
前面的括号包含字母d
。
所以我需要找到: (1d34)
解决方案
以下正则表达式可以完成这项工作:
\([^a-z]*[a-z]+[^a-z]*\)
带着旗帜g
和i
您可以使用regex101的现场演示对其进行测试,以检查它是否适用于您期望的所有情况。
另外我不知道你使用的语言,regex101 让你为一些生成代码。
突破
\(
匹配文字左括号[^a-z]*
匹配字母之前的任何非字母字符(可以是任何字符)- 开头范围之后的
^
字符反转匹配
- 开头范围之后的
[a-z]+
至少匹配一个字母[^a-z]*
匹配字母后面不是字母的任何字符(可以是空)\)
匹配文字右括号- 标志
i
(不区分大小写)将范围扩展a
到z
, 也大写 - 标志
g
(全局匹配)让您匹配多次
希望能帮助到你!
推荐阅读
- java - JMH 是否根据 CPU 时间或挂钟时间计算每个时间单位的操作?
- javascript - Express.js GET Route 方法未定义?
- java - 在JavaFX中按下按钮时如何创建随机圆圈位置?
- javascript - 从字符串设置 Html5 Datepicker 值
- javascript - 如何使用 VueJS CDN 遍历外部 JS 文件中的数组?
- python - 将带有 lambda 的字符串连接转换为 f 字符串
- mysql - Dockerfile 的输出不等于容器内运行的相同命令的输出
- php - 将PDF转换为图像时,PHP Imagick会挂起整个服务器
- css - 如何在 React 中使用样式化组件来获取关键帧动画
- python - 看不到代码行中有什么无效语法