0

我想要 dd.d.dd.dddddd 或 dd.ddddddd 类型的数据的正则表达式,每个 d 代表 0-9 之间的数字,正则表达式应该代表这两种格式。我正在使用 java 脚本。我尝试了以下代码。但它不适用于所有输入字符串。

<p id="demo">my string</p>
<button onclick="myFunction()">Try it</button>

<script>
function myFunction()
{
//var regExp1=/[1-4]+\.[1-4]+\.[1-4]+\.[0-9]+$/;

var regExp1=/[1-4][1-4]\.[1-4]\.[1-4][1-4]\.[0-9][0-9][0-9][0-9][0-9]$/;

//var regExp1=/[0-9][0-9]\.[0-9]\.[0-9][0-9]\.[0-9][0-9][0-9][0-9][0-9]$/;

var str="Version of C:\hjkl.dll:14.6.17.90505 working File Versn:18.1.9.17083,stopped file:13.1.14.25059 absjhdhgh";

var mystring=str.split(regExp1);
document.getElementById("demo").innerHTML=mystring;
}
</script>

期望的输出是:

Version of C:\hjkl.dll:
 working File Versn:
,stopped file:
 absjhdhgh
4

3 回答 3

5

尝试使用以下正则表达式:

\d{2}\.\d\.\d{1,2}\.\d{5}

例子:

var str     = "Version of C:\hjkl.dll:14.6.17.90505 working File Versn:18.1.9.17083,stopped file:13.1.14.25059 absjhdhgh";
var regExp1 = /\d{2}\.\d\.\d{1,2}\.\d{5}/;

var output  = str.split(regExp1);

输出:

["Version of C:hjkl.dll:", " working File Versn:", ",stopped file:", " absjhdhgh"]

要连接数组的元素,请使用:

var newString = output.join("\n"); // or <br/> instead of \n
于 2013-09-10T09:51:54.827 回答
1

只需匹配更简单的版本并在第三组中添加一个可选的第二个数字\d?

\d\d\.\d\.\d\d?\.\d{5}
于 2013-09-10T09:50:28.610 回答
1

我会使用:

\b\d{2}\.\d\.\d{1,2}\.\d{5}\b
于 2013-09-10T09:58:19.037 回答