我有一个字符串
Celcom10 | 105ABCD | Celcom
这是我的正则表达式(\s\w+)
但是这也捕获了空白区域。
如何编写正则表达式以获取中间值105ABCD
排除管道和空格?
我只需要一个regex pattern
,因为它将被插入一个图表中,该图表将在自动化测试中执行。
答案 0 :(得分:3)
你也可以尝试这个
[^ |]+
答案 1 :(得分:3)
如果您将字符串拆分为:\s*[|]\s*
<强>解释强>
\s*
匹配可选空格[|]
匹配文字管道,|
表示正则表达式中的或但如果您将其放入字符类[]
中则会丢失它意\s*
匹配可选空格示例代码:
input = 'somenickname | 1231231 | brand';
output = input.split(/\s*[|]\s*/);
// Printing
for(i = 0, l = output.length;i < l;i++){
document.write('index: ' + i + ' & value: ' + output[i] + '<br>');
}
<强>输出:强>
index: 0 & value: somenickname
index: 1 & value: 1231231
index: 2 & value: brand
答案 2 :(得分:2)
我需要一个正则表达式(或者3个)来提取所有三个单词/数字(不包括空格和管道)
从索引1获取匹配的组。此处括号(...)
用于捕获组。
(\w+)
\w match any word character [a-zA-Z0-9_]