【发布时间】:2021-06-02 19:08:59
【问题描述】:
我正在尝试为给定的输入创建一个正则表达式模式:-
例子:-
-
"Hi how are you [u123]"我想从上面的字符串中取出 u123。
-
"Hi [u342], i am good"在此,我想从上面的字符串中取出u342。
-
“
I will count till 9, [u123]”在此,我想从上面的字符串中取出u123。
-
“
Hi [u1] and [u342]”在这里,我应该得到 u1 和 u342
123 和 342 是 userId ,可以是任意数字
我尝试了很多参考,但我没有得到想要的结果
What's the regular expression that matches a square bracket?
【问题讨论】:
-
规格似乎不清楚。 123和342有什么特别之处?
s.match(/\d+/)微不足道地做到了这一点。如果您只想要以u开头的括号中的内容,您可以添加外观s.match(/(?<=\[u)\d+(?=\])/g) -
谢谢,但我并没有真正问这意味着什么,我问的是模式背后的逻辑是什么。我猜魔术模式是
<open bracket><literal u><some digits><close bracket>,但据我所知,它可能是任何东西。总是有3位数字吗?u重要还是[a123]也匹配?您是否尝试过为此编写正则表达式? -
是的,你是对的,数字长度可以是任何长度,例如长度 1 或 3 或 10。
标签: java regex pattern-matching match