在Ruby中,我經常用這樣的:正則表達式測試,結果存儲在javascript
if "my string123" =~ /string(\d+)/
puts "I got #{$1}"
end
我怎麼會做在JavaScript類似的東西?目前,我一直在這樣做,但感覺很髒。或許我應該忍受這一點,但我想我會問是否有一個我失蹤的語法subtelty。我不知道,謝謝!
在Ruby中,我經常用這樣的:正則表達式測試,結果存儲在javascript
if "my string123" =~ /string(\d+)/
puts "I got #{$1}"
end
我怎麼會做在JavaScript類似的東西?目前,我一直在這樣做,但感覺很髒。或許我應該忍受這一點,但我想我會問是否有一個我失蹤的語法subtelty。我不知道,謝謝!
這僅僅是在文本測試表達式的外觀:
var a = "my string123"; //or given as data..
var b = /string(\d+)/;
if (b.test(a)) alert("found some digits inside");
這是用於獲取匹配的數組:
var str = "Watch out for the rock!".match(/r?or?/g);
STR於是包含[ 「o」,「or」,「ro」]
不,這是正確的。 ruby方式應該感覺髒,因爲它增加了一個你必須理解的隱藏/額外的語法。 JS的方式是純粹的功能。 – slebetman 2010-10-21 05:12:43
應該注意的是,如果你只想獲得沒有完全匹配的捕獲部分,那麼你可以使用全局匹配:'/ regexp/g'。然後你的比賽將以'm [0]'返回。 – slebetman 2010-10-21 05:14:22
如果這是你第一次使用'm',它應該有'var'關鍵字:'var m = ...;'。另外,我不認爲JavaScript有'puts'。 – Kobi 2010-10-21 05:14:31