我需要使用正则表达式检索网址的某些部分。网址如下所示:
/xxxx/bbbb/good/city/games_in_the_city.~cccccc~dddddd~eeeee.html
我需要检索games_in_the_city。我得到了第一部分,直到/删除。现在需要在字符串中找到〜的第一个出现,以便其余部分也可以被删除。
我现在拥有的正则表达式(.*\/good\/city\/)(.*)(\.html)
获得games_in_the_city.~cccccc~dddddd~eeeee
如何修改我的正则表达式,以便{...}}也可以删除。最终输出应为~cccccc~dddddd~eeeee
我不知道网址中会出现多少games_in_the_city
(代字号)。有时它可能是一个。
答案 0 :(得分:1)
假设您只想要aaaa
字符串,可以执行以下操作:
/.*\/([^~]*)/
基本上,说'从上一个/
开始,匹配所有不是~
的内容。
答案 1 :(得分:0)
尝试([^~]*)~
- 其中的组将包含所有的as和下划线。
根据您的语言/工具,可能会有更好的支持,例如在perl中,我会使用s/~.*//;
从代字号移到最后而不必捕获之前的内容。
答案 2 :(得分:0)
如何将每个捕获放入一个组中。这将为您提供网址的每个部分:
^/([\w]+)/([\w]+)/([\w]+)/([\w]+)\.~([\w]+)~([\w]+)~([\w]+)\.html$