使用正则表达式在网址中间找到第一个出现的字符〜

时间:2012-04-27 17:23:15

标签: javascript regex

我需要使用正则表达式检索网址的某些部分。网址如下所示:

/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(代字号)。有时它可能是一个。

3 个答案:

答案 0 :(得分:1)

假设您只想要aaaa字符串,可以执行以下操作:

/.*\/([^~]*)/

基本上,说'从上一个/开始,匹配所有不是~的内容。

答案 1 :(得分:0)

尝试([^~]*)~ - 其中的组将包含所有的as和下划线。

根据您的语言/工具,可能会有更好的支持,例如在perl中,我会使用s/~.*//;从代字号移到最后而不必捕获之前的内容。

答案 2 :(得分:0)

如何将每个捕获放入一个组中。这将为您提供网址的每个部分:

^/([\w]+)/([\w]+)/([\w]+)/([\w]+)\.~([\w]+)~([\w]+)~([\w]+)\.html$