正则表达式改进
Regular expression improvement
本文关键字:正则表达式 更新时间:2023-09-26
我正在尝试编写正则表达式来捕获数据,但很难完成它。
从数据来看:
Code:Name Another-code:Another name
我需要获取一个数组:
['Code:Name', 'Another-code:Another name']
问题在于,除了空间之外,代码几乎可以是任何东西。
我知道如何在不使用正则表达式的情况下做到这一点,但决定给他们一个机会。
更新:忘了提到元素的数量可以从一到无穷大不等。所以数据:
Code:Name -> ['Code:Name']
Code:Name Code:Name Code:Name -> ['Code:Name', 'Code:Name', 'Code:Name']
也很合适。
只需根据空格拆分输入,后跟一个或多个非空格字符和一个:
符号。
> "Code:Name Another-code:Another name".split(/'s(?='S+?:)/)
[ 'Code:Name', 'Another-code:Another name' ]
或
> "Code:Name Another-code:Another name".split(/'s(?=[^'s:]+:)/)
[ 'Code:Name', 'Another-code:Another name' ]
怎么样:
^('S+:.+?)'s('S+:.+)$
Code:Name
在第 1 组中,Another-code:Another name
在第 2 组中。
'S+
表示一个或多个不是空格的字符。
这是一种不使用正则表达式的方法:
var s = 'Code:Name Another-code:Another name';
if ((pos = s.indexOf(' '))>0)
console.log('[' + s.substr(0, pos) + '], [' + s.substr(pos+1) + ']');
//=> [Code:Name], [Another-code:Another name]
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 将这些正则表达式从javascript转换为Java
- 用于验证JS中逻辑运算符表达式的正则表达式