Regex,数字中有一个开括号和一个闭括号



自从几天以来,我一直坐在那里与正则表达式作斗争,但没有取得任何成功

我的第一个表达,我想要的:

  • 括号只有一次,在哪里都无关紧要
  • 括号前后的文本或数字可选
  • 括号内的数字

允许的示例:

  • [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 ]*$

解释:

  • ^线路起点
  • [^...]负字符集-->[^]]]之外的任何字符
    • *类/字符集的长度为零或更多
  • d0-9
    • +类/字符集的一个或多个长度
  • 组的(...)?0或1
  • $线路末端

注意:这些RegExs可以返回空匹配项。

感谢@MMMahdy PAPION!他改进了答案。

相关内容

最新更新