我想使用正则表达式获取路线中显示的号码。该数字将始终显示在第四个位置,尽管数字也可以显示在第三个或更大的位置(第三、第四、第五等...)。(下例中的“x”符号可以代表字符、数字或符号)路线示例:/first/second/third/3/first/second-xxx/third-xxx-xxx/3/first/second/third/3//first/second/third/3/xxx/first/second/third/3/xxxx/x
3 回答
慕妹3242003
TA贡献1824条经验 获得超6个赞
更新
这个答案没有解决问题,因为已经澄清 x 可以包含数字。
原答案
如果该数字是字符串中唯一的数字,则这应该足够了:
[0-9]+
匹配长度为 1 或更大的任何数字。
慕虎7371278
TA贡献1802条经验 获得超4个赞
首先,在数字之前构建要搜索的模式
^:从字符串的开头开始
(\/\w+){3}:查找连续三个出现的 '\SomeWordCharacters'
\/:后面跟着另一个“/”
然后,将其与数字本身组合作为要输出的模式
(?<=^(\/\w+){3}\/):获取上面创建的模式,并在要输出的模式之前搜索它的出现情况。
\d+:您实际想要输出的感兴趣的模式
全部一起:
(?<=^(\/\w+){3}\/)\d+
添加回答
举报
0/150
提交
取消