我有一个问题,我希望有一个人谁是更了解Regex,可以帮助我。
我试图从包含预算项目的PDF文件中提取数据。我使用这个regex模式来获得第一个数字的索引,这样我就可以将数字提取到右边。
Regex模式:
(([(]?[0-9]+[)]? )|([(]?[0-9]+[)]?)|(- )|(-))+$项目:“现代化和改进(注9) 260 (180) 640 -155”
这对99%的行项目很好,除了这个我遇到的。问题是模式与文本部分中的‘9’匹配。
这个Regex模式是否可以说,如果有括号,内部必须只包含数字?
谢谢!
发布于 2022-10-07 07:42:56
可以重复所有可能的选项,直到字符串结束为止:
(?:\(\d+\)|\d+(?:\s*-\s*\d+)?)(?:\s+(?:\(\d+\)|\d+(?:\s*-\s*\d+)?))*$解释
(?:非捕获群\(\d+\)在圆括号之间匹配1+数字|或\d+(?:\s*-\s*\d+)?匹配1+数字,并可选择匹配-和1+数字。)关闭非捕获组(?:非捕获组作为一个整体重复\s+匹配1+空格字符(?:\(\d+\)|\d+(?:\s*-\s*\d+)?)与第一种模式相同)*关闭非捕获组并可选择地重复它$末端https://stackoverflow.com/questions/73983843
复制相似问题