我正在尝试使用Javascript构建正则表达式,以创建带有增量文本的组,但是不知道是否可以通过正则表达式来完成
。我有以下字符串:
澳大利亚新南威尔士州鲍尔汉姆山的GALLUPER SUPERSTORE
我想构建的是一个匹配/创建以下组的正则表达式:
class Program {
static void Main(string[] args) {
Stopwatch sw = Stopwatch.StartNew();
string fil1 = "C:\Users\mariu\Desktop\Jobboppgave\CaseConsoleApp\Prisfile.txt";
***var f = System.IO.File.OpenRead(fil1);***
int length = (int)(new System.IO.FileInfo(fil1).Length);
到目前为止,我已经成功使用正则表达式用一个单词匹配/创建了一个组:
Group 1: AUSTRALIA
Group 2: NSW AUSTRALIA
Group 3: HILL NSW AUSTRALIA
Group 4: BAUKHAM HILL NSW AUSTRALIA
Group 5: SUPERSTORE BAUKHAM HILL NSW AUSTRALIA
但这会创建5个带有单个单词的组:
/(?:\s(\w+))/gi
我显然可以使用循环来完成我想实现的目标,但是我想知道单个正则表达式是否可以创建相同的输出。
谢谢!
答案 0 :(得分:1)
就像Wiktor所说的那样,您可以编写一些代码来代替regex来执行。这是相同的JavaScript代码。尝试玩,
<html>
<head>
<script>
function abc(s) {
var tokens = s.split(" ");
var ss = "";
for (var i = 1; i < tokens.length; i++) {
for (var j = tokens.length - i; j < tokens.length; j++) {
ss += tokens[j];
if (j + 1 < tokens.length) {
ss += " ";
}
}
ss += "<br/>";
}
document.getElementById("demo").innerHTML = ss;
}
</script>
<body>
<input type="text" id='intxt' value='GALLUPER SUPERSTORE BAULKHAM HILL NSW AUSTRALIA' size="100" />
<button type="button" onclick="abc(document.getElementById('intxt').value)">Click here to see demo</button>
<p id="demo"></p>
</body>
</html>