Javascript 在js中使用版本号为的正则表达式解析字符串
我有两种不同格式的字符串,如下所示,我如何在js中编写一个RegExp来解析信息以获得appName1-v10.20。包装下: 你可以用 const extract=text=>{ const package=/\[package:?:,?\s*\[?[^\][]+]\[^]*\*/.exectext?[1] 退货包? Array.frompackage.matchAll/?:^\[^\][]*-v\d[^\][]*]/g,x=>x[1]。修剪: } 请参阅JavaScript演示: const extract=text=>{ const package=/\[package:?:,?\s*\[?[^\][]+]\[^]*\*/.exectext?[1] 退货包? Array.frompackage.matchAll/?:^\[^\][]*-v\d[^\][]*]/g,x=>x[1]。修剪: } const oneMatchString='\[包:[appName1-v10.20.1]https://github.com/appName1/1111,[appName2-v20.15.10]https://github.com/appName2/aaa\]\r\n[asdsad:asdas]\r\n我在PR上有am说明' constTwoMatchString='[包:appName1-v10.20.1]https://github.com/appName1/1111\r\n[asdsad:asdas]\r\n我在PR上有am说明' console.log extractoneMatchString/[appName1-v10.20.1,appName2-v20.15.10] console.log extracttwoMatchString/[appName1-v10.20.1]您可以使用 const extract=text=>{ const package=/\[package:?:,?\s*\[?[^\][]+]\[^]*\*/.exectext?[1] 退货包? Array.frompackage.matchAll/?:^\[^\][]*-v\d[^\][]*]/g,x=>x[1]。修剪: } 请参阅JavaScript演示: const extract=text=>{ const package=/\[package:?:,?\s*\[?[^\][]+]\[^]*\*/.exectext?[1] 退货包? Array.frompackage.matchAll/?:^\[^\][]*-v\d[^\][]*]/g,x=>x[1]。修剪: } const oneMatchString='\[包:[appName1-v10.20.1]https://github.com/appName1/1111,[appName2-v20.15.10]https://github.com/appName2/aaa\]\r\n[asdsad:asdas]\r\n我在PR上有am说明' constTwoMatchString='[包:appName1-v10.20.1]https://github.com/appName1/1111\r\n[asdsad:asdas]\r\n我在PR上有am说明' console.log extractoneMatchString/[appName1-v10.20.1,appName2-v20.15.10] console.log extracttwoMatchString/[appName1-v10.20.1]使用matchAll返回一个RegExpStringIterator 上有一些示例,说明如何使用array.from将值放入数组 如果浏览器支持支持正向查找:Javascript 在js中使用版本号为的正则表达式解析字符串,javascript,regex,Javascript,Regex,我有两种不同格式的字符串,如下所示,我如何在js中编写一个RegExp来解析信息以获得appName1-v10.20。包装下: 你可以用 const extract=text=>{ const package=/\[package:?:,?\s*\[?[^\][]+]\[^]*\*/.exectext?[1] 退货包? Array.frompackage.matchAll/?:^\[^\][]*-v\d[^\][]*]/g,x=>x[1]。修剪: } 请参阅JavaScript演示: const
(?<=\[Package:.*?)[^\s\][-]+-[^\][]+(?=])
使用matchAll返回一个RegExpStringIterator
上有一些示例,说明如何使用array.from将值放入数组
如果浏览器支持支持正向查找:
(?<=\[Package:.*?)[^\s\][-]+-[^\][]+(?=])