正则表达式 - 正则表达式匹配字符串

时间:2016-09-28 01:54:29

标签: javascript regex

我在adobe javascript中使用正则表达式来查找绘图标题栏中的单词串。从数字(1)开始,然后是日期,然后是不同数量的单词和4组首字母

var re = new RegExp(1+"\\s\\d{1,2}\\.\\d{1,2}\\.\\d{2,4}\\s\\w+(?:\\s+\\w+){1,9}\\s([A-Z]{2,7})\\s([A-Z]{2,7})\\s([A-Z]{2,7})\\s([A-Z]{2,7})");

绘图标题栏示例包含以下内容:

1 20.09.16本次测试的变更SB SB BW CR

0 29.07.16批准施工MM SB BW GM

正则表达式结果是

FOR CONSTRUCTION MM SB BW GM 1 20.09.16此测试的变更SB SB

我需要正则表达式

1 20.09.16此测试的SB SB BW CR

任何人都可以建议如何找到以1开头的完全匹配,而不是结果中显示的随机文本。

非常感谢您的帮助。

注意:下面修改的正则表达式

var re = new RegExp(/^1\s\d{1,2}\.\d{1,2}\.\d{2,4}\s\w+(?:\s+\w+){1,10}\s([A-Z]{2,2})\s([A-Z]{2,2})\s([A-Z]{2,2})\s([A-Z]{2,2})$/g);

我需要将正则表达式开头的1从文本替换为变量。

正则表达式首先是^然后是javascript变量然后是正则表达式

var re = new RegExp("//^"+firstWord+"\\s\\d{1,2}\\.\\d{1,2}\\.\\d{2,4}\\s\\w+(?:\\s+\\w+){1,9}\\s([A-Z]{2,4})\\s([A-Z]{2,4})\\s([A-Z]{2,4})\\s([A-Z]{2,4})$//g");

正则表达式不起作用,有人可以建议如何将java变量与正则表达式结合起来吗?

1 个答案:

答案 0 :(得分:1)

我不确定为什么你的结果如此,但如果你只是做

var str = '1 20.09.16 CHANGES FOR THIS TESTING SB SB BW CR 0 29.07.16 APPROVED FOR CONSTRUCTION MM SB BW GM'

var result = str.match(/1\s\d{1,2}\.\d{1,2}\.\d{2,4}\s\w+(?:\s+\w+){1,9}\s([A-Z]{2,7})\s([A-Z]{2,7})\s([A-Z]{2,7})\s([A-Z]{2,7})/g)

此回归

[ '1 20.09.16 CHANGES FOR THIS TESTING SB SB BW CR' ]

要获取字符串,您只需要执行result[0]