我在找一些正則表達式的幫助 鑑於以下網址:http://news.cnet.com/8301-13924_3-10315534-64.html?part=rss&subj=news&tag=2547-1_3-0-20用於Coldfusion的REGEX幫助 - 在URL中,刪除?一切後
什麼是正則表達式來獲取以下信息:
http://news.cnet.com/8301-13924_3-10315534-64.html
從而去除?及其之後的所有
感謝,B
我在找一些正則表達式的幫助 鑑於以下網址:http://news.cnet.com/8301-13924_3-10315534-64.html?part=rss&subj=news&tag=2547-1_3-0-20用於Coldfusion的REGEX幫助 - 在URL中,刪除?一切後
什麼是正則表達式來獲取以下信息:
http://news.cnet.com/8301-13924_3-10315534-64.html
從而去除?及其之後的所有
感謝,B
這個正則表達式會做的伎倆:
^([^?]+)
就拿第二擷取組從比賽(第一個捕獲組如果匹配,它總是原始字符串本身)。
ColdFusion中,你可以使用正則表達式替換:
myURL = REReplace(myURL,"\?.*$","")
這將使你在問號前的一切。
你當然可以使用正則表達式這一點,但它會更有效地使用
listfirst(theurl, '?')
其認定由問號分隔列表的第一部分。
@Ben Doom:如果我沒有弄錯,#url#變量是一個複雜的對象,不能被視爲字符串或列表。我在查詢字符串之前的一切方法是:
<cfset myURL = "http://" & #cgi.HTTP_HOST# & #cgi.SCRIPT_NAME# />
很明顯,我不是故意在url範圍上嘗試這個操作。我不假思索地使用'url'來表示一個變量來保存有問題的URL。 – 2009-08-26 01:12:57
是的,你知道在我寫了我的答案後,我發現你指的是一個變量,其中存有url,而不是範圍本身。很好的答案,但我不會想到使用這種技術。 – 2009-08-26 11:18:18
好主意..非常coldfusion-y的方式做到這一點! – Kip 2009-08-24 02:02:47
+1爲一個很好的簡單解決方案。 CF中的列表*()函數在以非顯而易見的方式使用時功能非常強大。 – ale 2009-08-25 02:14:49
我同意,我總是期待在正則表達式之前列出函數。 – 2009-08-27 00:53:12