自从几天以来,我一直坐在那里与正则表达式作斗争,但没有取得任何成功
我的第一个表达,我想要的:
- 括号只有一次,在哪里都无关紧要
- 括号前后的文本或数字可选
- 括号内的数字
允许的示例:
- [32]文本1
- text1[5]
- text1[103]text2
- 文本1
- [123]
- [一些价值[33]](可能会变得复杂,不会那么重要?(
我的第二个表达式类似,只是括号前后的数字,而不是文本
- [32]11
- 11[5]
- 11[103]22
- 11
- [123]
无匹配:
- [12]xxx[5](括号不止一次(
- [aa]xxx(括号内无数字(
这就是我所做的,但不起作用,因为我不知道如何处理时间段:
^.*{?[0-9]*}.*$
从其他答案中,我也发现,这看起来不错,但我需要这个数字:
^[^{}]*{[^{}]*}[^{}]*$
稍后我想使用括号中的数字,并替换为其他一些值,只是为了获得一些额外的信息,如果重要的话。
希望有人能帮我。提前谢谢!
这就是您想要的:
^([^]n]*[d+])?[^[n]*$
实例
更新:仅限数字:
^[d ]*([d+])?[d ]*$
解释:
^
线路起点[^...]
负字符集-->[^]]
除]
之外的任何字符*
类/字符集的长度为零或更多
d
0-9+
类/字符集的一个或多个长度
- 组的
(...)?
0或1 $
线路末端
注意:这些RegExs可以返回空匹配项。
感谢@MMMahdy PAPION!他改进了答案。