对Coldfusion的REGEX帮助 - 在URL中,删除?之后的一切

时间:2009-08-23 04:29:57

标签: regex coldfusion

我正在寻找一些REGEX帮助 给出以下网址:http://news.cnet.com/8301-13924_3-10315534-64.html?part=rss&subj=news&tag=2547-1_3-0-20

获得以下内容的REGEX是什么:

http://news.cnet.com/8301-13924_3-10315534-64.html

因此删除?以及之后的一切

谢谢,B

4 个答案:

答案 0 :(得分:10)

你当然可以使用正则表达式,但使用

会更有效

listfirst(theurl, '?')

找到由问号分隔的列表的第一部分。

答案 1 :(得分:3)

在ColdFusion中你可以使用正则表达式替换:

myURL = REReplace(myURL,"\?.*$","")

这会让你留下问号之前的所有内容。

答案 2 :(得分:2)

这个正则表达式可以解决这个问题:

  

^([^?]+)

从匹配中取出第二个捕获组(如果匹配则第一个捕获组始终是原始字符串)。

答案 3 :(得分:0)

@Ben Doom:如果我没弄错的话,#url#变量是一个复杂的对象,不能被视为字符串或列表。我在查询字符串之前获取所有内容的方式是:

<cfset myURL = "http://" & #cgi.HTTP_HOST# & #cgi.SCRIPT_NAME# />