如何用一个正则表达式提取字符串?
How to extract string with one regex?
我需要正则表达式方面的帮助。我有 3 种类型的标题
1.1.1.1 Abc
B.1.1.1 Abc
B. Abc
而且我想select像这样select他们
1.1.1.1
B.1.1.1
B
谢谢
尝试分组
var examples = [
"1.1.1.1 Abc",
"B.1.1.1 Abc",
"B. Abc"
];
for(var k in examples) {
k = examples[k];
document.write(k.replace(/(.*)Abc/,'')+"<br>");
}
这是一个正则表达式模式,其匹配项似乎符合您的预期:
^.*?(?=\.? [A-Za-z]{3}$)
前瞻会导致模式在看到一个可选点时停止匹配,后跟 space,然后是三个字符和行尾。
尝试模式:([\dA-Z]\.)+[\dA-Z]?
([\dA-Z]\.)+
将匹配一个或多个大写字母或数字后跟一个点。
[\dA-Z]?
将匹配零次或一次出现的大写字母或数字后跟一个点。
试试这个正则表达式:
^[0-9\.A-Z\/]*?(?=\.?\s)
我需要正则表达式方面的帮助。我有 3 种类型的标题
1.1.1.1 Abc
B.1.1.1 Abc
B. Abc
而且我想select像这样select他们
1.1.1.1
B.1.1.1
B
谢谢
尝试分组
var examples = [
"1.1.1.1 Abc",
"B.1.1.1 Abc",
"B. Abc"
];
for(var k in examples) {
k = examples[k];
document.write(k.replace(/(.*)Abc/,'')+"<br>");
}
这是一个正则表达式模式,其匹配项似乎符合您的预期:
^.*?(?=\.? [A-Za-z]{3}$)
前瞻会导致模式在看到一个可选点时停止匹配,后跟 space,然后是三个字符和行尾。
尝试模式:([\dA-Z]\.)+[\dA-Z]?
([\dA-Z]\.)+
将匹配一个或多个大写字母或数字后跟一个点。
[\dA-Z]?
将匹配零次或一次出现的大写字母或数字后跟一个点。
试试这个正则表达式:
^[0-9\.A-Z\/]*?(?=\.?\s)