javascript - 正则表达式 - 以值开头或在第二个逗号以值开头之后
问题描述
我正在尝试开发具有此逻辑的正则表达式:
if(startsWith(value) || afterSecondCommaStartsWith(value)) {}
我有一个像这样的字符串:
Thomas Municipal Court, Creber, Lester County, TX 12345
如果value = "Tho"
或value = "Les"
它应该匹配
我正在用 JavaScript 实现它,这就是我目前所拥有的:
var matcher = new RegExp("^", $.ui.autocomplete.escapeRegex(term), "i");
这适用于value = "Tho"
,但不适用于value = "Les"
(因为我没有逗号逻辑)。
(另外,如果有人关心,我将它用于 JQuery UI 自动完成逻辑)
解决方案
您可以构建动态正则表达式。
let value1 = "Tho"
let value2 = "Les"
let str = `Thomas Municipal Court, Thomas, Lester County, TX 79457`
let reg = `(?:^${value1})|(?:^.*?,.*?,\\s*${value2})`
var matcher = new RegExp(reg,"i");
console.log(matcher)
console.log(matcher.test(str))
推荐阅读
- c++ - 已被破坏的对象数组的析构函数
- java - 如何使删除然后写入数据库的方法具有事务性?
- mysql - Codeigniter 更新数据库表
- python - 在 Python 的另一个类 ElementTree 中继续解析
- javascript - 如何使用 bootstrap-datepicker sanbox 限制 1 个月内的天数选择?
- xml - XSLT (1.0) 如何在 CDATA 标记中包装元素值时保留 html 标记
- android - 限制房间插入
- javascript - 通过事件对象检测输入模式验证
- arrays - 无论深度如何,如何在 Go 中找到所有具有特定扩展名的文件?
- python-3.x - 将日期时间序列转换为数字时间戳