[英]Javascript Regex after specific string
我有幾個Javascript字符串(使用jQuery)。 它們都遵循相同的模式,以“ ajax-”開頭,並以名稱結尾。 例如“ ajax-first”,“ ajax-last”,“ ajax-email”等。
我怎樣才能使正則表達式僅在'ajax-'之后抓取字符串?
因此,我只需要“電子郵件”,而不是“ ajax-email”。
您不需要為此使用RegEx。 如果您的前綴始終為“ ajax-”,則可以執行以下操作:
var name = string.substring(5);
給定您對其他用戶的帖子發表的評論,請嘗試以下操作:
var $li = jQuery(this).parents('li').get(0);
var ajaxName = $li.className.match(/(?:^|\s)ajax-(.*?)(?:$|\s)/)[1];
演示可以在這里找到
以下僅供參考
var ajaxName = 'ajax-first'.match(/(\w+)$/)[0];
alert(ajaxName);
使用\\w
(單詞)模式並將其綁定到字符串的末尾。 這將強制抓住最后一個連字符后的所有內容(假設該值僅由[大/小]個字母,數字或下划線組成)。
非正則表達式方法也可以使用String.split
方法,以及Array.pop
。
var parts = 'ajax-first'.split('-');
var ajaxName = parts.pop();
alert(ajaxName);
您可以嘗試用""
替換ajax-
我喜歡@Brad Christie提到的split方法,但我會這樣做
function getLastPart(str,delimiter) {
return str.split(delimiter)[1];
}
如果您始終只用連字符將兩部分組成的字符串分開,則此方法有效。 如果要對多連字符字符串的任何特定部分進行通用化,則需要編寫一個包含索引的更復雜的函數,但隨后必須檢查邊界錯誤等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.