javascript - 用于检索文本的条件正则表达式

标签 javascript regex

我是正则表达式的新手,我想做的是使用 javascript 解析我的输入,如下所述:

我可能会得到 3 种类型的输入:

someEmail@domain.com;anotherEmail@domain.com;

some name<someEmail@domain.com>;another name<anotherEmail@domain.com>;

或者可能像

someEmail@domain.com;another name<anotherEmail@domain.com>;

我想做的是用 ; 分隔整个输入。这将为我提供一组电子邮件,然后检查每个数组项是否:

  1. 有 < 和 >,然后检索 < 和 > 之间的文本作为值。
  2. 没有 < 和 > 则将整个文本作为值。

我已经在尝试学习正则表达式了。如果有人给我正则表达式,如果它附有解释,以便我可以理解和学习,我将不胜感激。

干杯

最佳答案

尝试像这样作为初学者 - 避免复杂的正则表达式 - 如果您的输入采用所述形式,则不需要:

str = 'someEmail@domain.com;another name<anotherEmail@domain.com>;someEmail@domain.com;anotherEmail@domain.com;some name<someEmail@domain.com>;another name<anotherEmail@domain.com>;test@test.com';
var splits = str.split(';');
for (var i = 0; i < splits.length; i++) {
  if (splits[i].indexOf('<') == -1) {
    $('#output').append(splits[i] + '<br>');
  } else {
    var address = splits[i].match(/<(.*?)>/)[1];
    $('#output').append(address + '<br>');
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='output'></div>

关于javascript - 用于检索文本的条件正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33496818/

相关文章:

javascript - 最大的 Colorbox 窗口?

javascript - (Angular2) 无法读取 toastr 未定义的属性 'extend'

javascript - 在 document.ready jquery 上运行 ajax 请求

javascript - 如何在javascript中更改urlpath

regex - 如何创建使用正则表达式将文本中的字符串替换为制表符的 powershell 脚本

javascript - 尝试使用 useEffect Hook 中的清理功能来清理 img.onload

javascript - 谷歌分析跟踪代码看起来既不传统也不异步

c# - 具有不同格式的多个正则表达式模式

c# - 如何替换字符串中的未知字符?通配符?

java - 当java不应该分割字符串时,我可以给Java一个正则表达式吗?