如果以下字符串为
break, if following string is <div>
,则中断。
>我想在#
之后找到字符串,如果#a
或#a <div>..
我有问题都在努力返回a
,但如果#a<div>..
会返回a<div>
.
如何避免如果以下字符串<div>
或<br>
或<p>
而不仅仅是中断,
例如 #a<div>bc
- a
https://regex101.com/r/xD1vN0/1
var re = /#([^#'s]*)/g;
您可以使用带有
缓和贪婪令牌的正则表达式:
/#((?:(?!<(?:div|br|p)>)[^#'s])*)/g
(?:(?!<(?:div|br|p)>)[^#'s])*
是一个温和的贪婪标记,它匹配除#
和空格以外的任何字符,这些字符不会开始<div>
、<br>
或<p>
序列。
JS演示:
var re = /#((?:(?!<(?:div|br|p)>)[^#'s])*)/g;
var str = `#a<div>
#b<br>
#c<p>
#d<hi>`;
var res = [];
while ((m = re.exec(str)) !== null) {
res.push(m[1]);
}
document.body.innerHTML = "<pre>" + JSON.stringify(res.map(x => x.replace(/</g,"<").replace(/</g,">")), 0, 4) + "</pre>";
您可以使用
此模式在达到<
时中断
var re = /#([^#'s^<]*)/g;
相关文章:
- 从一个数组中移除字符串(如果存在于另一个数组)
- 移除字符串(如果找到)移除JS中字符串的一部分
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- Regex模式,用于检查字符串中每个单词的第一个字母(如果是Javascript中的大写字母)
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 如果以下字符串为
- javascript字符串替换$1(如果它是某个值)
- jqueryajax生成查询字符串,如果未定义则不通过
- 如果URL中有任何字符串变体匹配,则返回true
- 如果条件推送包含/匹配字符串的值
- 如何将字符串解析为整数并保留小数位(如果它们是零)
- 如果字符串保存在变量中,如何查找包含字符串的ID
- 如果通过字符串变量发送,HTML内部的子窗口将显示为文本
- 如果字符串中存在错误,请检查数组中的char
- 如果缺少字符串,如何插入括号和值
- 如果el包含此文本,请从中删除此字符串
- JavaScript在单击时从列表中删除字符串(如果已经存在)
- Javascript 正则表达式,用于在问号之前获取字符串(如果存在)
- 如何填充如果字段不是空字符串如果为空则不需要填充
- Json字符串如果键错误设置显示.否则显示数据