实施例
no.s 1234 65
输入:n
对于n=4
,输出应为1234
对于n=2
,输出应为:65
(不是12)
尝试\d{n}
,12
和\d{n,}
给出1234
,但我想要完全匹配的。
Pattern p = Pattern.compile("//\d{n,}");
答案 0 :(得分:2)
你需要负面的外观断言:(?!..)
:负面看,(?<!\d)\d{4}(?!\d)
:负面展望:regex101
\D
然而并非所有的正则表达式引擎都支持它们,也许一个解决方法也可以匹配前面的字符和后面的字符(与0宽度匹配的环顾相反),((?:^|\D)(\d{4})(?:\D|$)
匹配所有excpet a digit)< / p>
import { withRouter } from 'react-router-dom'
this.props.history.goBack();
答案 1 :(得分:0)
我没有用java编写代码,但我可以尝试使用正则表达式来解决这个问题。
如果您的号码采用d1d2d3d4 d5d6
格式,并且您想要提取数字d5d6
,请创建3个组作为r'([0-9]+)("/s")([0-9]+)'
- 每组括号()代表一个组。现在,仅在另一个对象中提取第三个组,这是您需要的输出。
答案 2 :(得分:0)
我认为你的意思是\b
字符。
因此,您正在寻找的正则表达式(对于n=2
):
\b\d{2}\b
答案 3 :(得分:0)
根据我的理解,您正在寻找一个与n个数字的字符串中的数字相匹配的正则表达式,并考虑数字之间的间距。如果是这种情况,那么您正在寻找类似的内容:
\b\d{4}\b
\ b将确保匹配限制在“&#39;字的开头/结尾”。其中一个单词是由\ w(包括数字)匹配的任何内容之间的边界,以及与相反的\ W(包括空格)匹配的任何内容之间的边界。