我想提取以数字开头的第一个子字符串,并通过正则表达式以数字结尾。
我可以匹配数字([0-9] +),但无论如何都无法找到处理完整请求。
提前感谢您的帮助
答案 0 :(得分:3)
您可以使用基于捕获组的正则表达式。
^\D*(\d\S*\d)
或
在C#中。
@"(?m)(?<=^\D*)\d\S*\d"
从组索引1中获取您想要的字符串。
或强>
只需停用全局修饰符g
即可。所以它不会在同一行找到另一场比赛。
\d\S*\d
答案 1 :(得分:1)
我们要查找数字/\d/
,然后查找尽可能多的字符/.*/
,然后在结尾找到另一个数字/\d/
。
将这些全部组合在一起,你的正则表达式:/\d.*\d/
。
如果您只想匹配满足此条件的字词,请使用:\d\w*\d
。该
\w*
仅匹配两位数字之间的单词字符。
如果您也想要非单词字符,请使用/\d\S*\d/
,这将为您提供以数字开头和结尾的任何非空格字符串。