我正在尝试解析一个包含参考数字的文档.
文字文本{4:2}更多令人难以置信的文字{4:3}后来{222:115}还有更多文字.
引用将始终包含在括号中,并且两者之间始终存在冒号.我写了一个表达式来找到它们.
{[0-9]:[0-9]}
Run Code Online (Sandbox Code Playgroud)
然而,当你遇到一个两位或三位数时,这显然是失败的,而我却无法弄清楚应该是什么.永远不会超过3位数{999:999}是要处理的最大尺寸.
有人想知道处理这个问题的正确表达方式吗?
Lil*_*ard 66
你使用什么正则表达式引擎?他们中的大多数将支持以下表达式:
\{\d+:\d+\}
Run Code Online (Sandbox Code Playgroud)
这\d实际上是简写[0-9],但重要的部分是添加+意味着"一个或多个".
Can*_*ice 27
试试这个:
{[0-9]{1,3}:[0-9]{1,3}}
Run Code Online (Sandbox Code Playgroud)
的{1,3}意思是"前面的字符的1和3之间的匹配".
您可以使用指定希望上一个项目匹配的次数{min,max}.
{[0-9]{1,3}:[0-9]{1,3}}
Run Code Online (Sandbox Code Playgroud)
此外,您可以使用\d数字而不是[0-9]大多数正则表达式:
{\d{1,3}:\d{1,3}}
Run Code Online (Sandbox Code Playgroud)
您可能还想考虑转义外部,{并且}只是为了明确它们不是重复定义的一部分.
| 归档时间: |
|
| 查看次数: |
221522 次 |
| 最近记录: |