正则表达式在一个数字中有一个开括号和一个闭括号
Regex with one open and close bracket within an number
这几天我一直坐着和正则表达式战斗,但没有成功
我的第一个表情,我想要的:
- 括号一次,位置无关紧要
- 括号前后的文字或数字可选
- 括号内的数字
允许的示例:
- [32] 文本 1
- 文本 1 [5]
- 文本 1 [103] 文本 2
- 文字1
- [123]
- [some value [33]](可能太复杂了,不是那么重要吗?)
我的第二个表达式类似,但只是括号前后的数字而不是文本
- [32] 11
- 11[5]
- 11 [103] 22
- 11
- [123]
不匹配:
- [12] xxx [5] (括号里不止一次)
- [aa] xxx(括号内无数字)
这就是我所做的,但没有用,因为我不知道如何处理准时括号:
^.*\{?[0-9]*\}.*$
从其他答案中我还发现,这看起来不错,但我需要它作为数字:
^[^\{\}]*\{[^\{\}]*\}[^\{\}]*$
我想稍后使用括号中的数字并替换为其他一些值,如果重要的话,只是为了一些额外的信息。
希望有人能帮助我。提前致谢!
这就是你想要的:
^([^\]\n]*\[\d+\])?[^[\n]*$
更新: 对于数字:
^[\d ]*(\[\d+\])?[\d ]*$
解释:
^
行首
[^...]
负数字符集 --> [^\]]
除了 ]
之外的任何字符
*
Class/Character 集合的零个或多个长度
\d
0-9
+
Class/Character集合的一个或多个长度
(...)?
0或1组
$
行尾
注意:这些正则表达式可以return空匹配。
感谢@MMMahdy-PAPION!他改进了答案。
这几天我一直坐着和正则表达式战斗,但没有成功
我的第一个表情,我想要的:
- 括号一次,位置无关紧要
- 括号前后的文字或数字可选
- 括号内的数字
允许的示例:
- [32] 文本 1
- 文本 1 [5]
- 文本 1 [103] 文本 2
- 文字1
- [123]
- [some value [33]](可能太复杂了,不是那么重要吗?)
我的第二个表达式类似,但只是括号前后的数字而不是文本
- [32] 11
- 11[5]
- 11 [103] 22
- 11
- [123]
不匹配:
- [12] xxx [5] (括号里不止一次)
- [aa] xxx(括号内无数字)
这就是我所做的,但没有用,因为我不知道如何处理准时括号:
^.*\{?[0-9]*\}.*$
从其他答案中我还发现,这看起来不错,但我需要它作为数字:
^[^\{\}]*\{[^\{\}]*\}[^\{\}]*$
我想稍后使用括号中的数字并替换为其他一些值,如果重要的话,只是为了一些额外的信息。
希望有人能帮助我。提前致谢!
这就是你想要的:
^([^\]\n]*\[\d+\])?[^[\n]*$
更新: 对于数字:
^[\d ]*(\[\d+\])?[\d ]*$
解释:
^
行首[^...]
负数字符集 -->[^\]]
除了]
之外的任何字符*
Class/Character 集合的零个或多个长度
\d
0-9+
Class/Character集合的一个或多个长度
(...)?
0或1组$
行尾
注意:这些正则表达式可以return空匹配。
感谢@MMMahdy-PAPION!他改进了答案。