簡體   English   中英

正則表達式提取字符串

[英]Regular expression extract string

我有一個字符串"@{Name; 11112121@xyz.com}"

我想編寫一個從上面的字符串中提取Name11112121的正則表達式

這就是我嘗試過的。

function formatName(text){ 
  var regex = /@\{([^;]+); ([^\}]+)\}/
  return text.replace(
      regex,
      '$1, $2'
  );  
}

上面的Name, 11112121@xyz.com 但我只想要Name, 11112121

嘗試這個

var regex = /@\{([^;]+); ([^\}]+)(@.*)\}/

$ 1 =>名稱

$ 2 => 11112121

是工作示例

改用match,像這樣:

var regex = /@\{([^;]+);\s+([^@]+)/;

var matches = text.match(regex);

alert(matches[1] + ', ' + matches[2]);

http://jsfiddle.net/rooseve/bM2U6/

如果要匹配所有字符,直到@字符為止,可以使用

var regex = /@\{([^;]+); ([^@]+)/

如果之后需要驗證字符串中是否包含} ,可以將其添加到末尾:

var regex = /@\{([^;]+); ([^@]+)[^}]*\}/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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