2013-08-01 14 views
1

我想測試一個字符串可以匹配模式在JavaScript的Javascript正則表達式匹配(在中間的隨機字符串)

問題是有中間 樣式的隨機字符串:「帳號/ OS/some_random_string/call_back」

這樣一個字符串看起來像下面將匹配

VAR MyString的= 「賬號/ OS/1234567/call_back」

感謝

+2

我不確定你想要什麼。你正在尋找'/ account \/os \ /(。*)\/call_back /'之類的東西嗎? –

回答

6

你想與account/os/開始正則表達式,並與/call_back結束,這裏有一個:

/^account\/os\/.*\/call_back$/ 

.*將匹配任何隨機字符串(包括空字符串)。如果你想在隨機字符串的最小長度更改*

.* : 0 or more characters 
.+ : 1 or more characters 
.{n,} : n or more characters (replace n with an actual number) 
+0

謝謝,正是我需要的 – user2640648

2

嗯,這取決於。如果您想帳戶/ OS /和/ call_back之間的每一個字符,使用此:

var randomStr = mystring.match(/account\/os\/(.*)\/call_back/)[1]; 

比賽將返回數組與2個元素,第一個與整場比賽,第二屆一個同組( 。*)。如果您完全確定您至少有一個字符,請將*替換爲+。

如果你知道更具體的瞭解你必須收集文本的東西,這裏有一些替代(點是匹配幾乎所有的東西)。

[A-z] for any of A, B, .. , Y, Z, a, b, .. , y, z 
[0-9] for any digit 

你可以混合,然後去花哨,像這樣:

[A-Ea-e0-36-8] 

所以,你的模式可能看起來像這樣的:

/account\/os\/([A-Ea-e0-36-8]*)\/call_back/ 

你例如有許多在那裏,所以你可能在尋找:

/account\/os\/([0-9]*)\/call_back/ 

/account\/os\/(\d*)\/call_back/ 

..這是同樣的事情。

希望有所幫助。

編輯:什麼JS回答沒有jsfiddle? http://jsfiddle.net/U2Jhw/

相關問題