簡體   English   中英

特定字符串后的Javascript正則表達式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM