gpt4 book ai didi

java - 使用正则表达式从包含换行符的文本中解析字符串

转载 作者:行者123 更新时间:2023-11-30 08:43:56 25 4
gpt4 key购买 nike

给定以下文本,我正在尝试解析 Address: 之后的字符串“TestFile”:

File: TestFile
Branch


OFFICE INFORMATION
Address: TestFile
City: L.A.
District.: 43
State: California
Zip Code: 90210

DISTRICT INFORMATION
Address: TestFile2
....

我知道 lookbehinds 需要零宽度,因此不允许使用量词,这意味着这行不通:

(?<=OFFICE INFORMATION\n\s*Address:).*(?=\n)

我可以用这个

(?<=OFFICE INFORMATION\n            Address:).* 

但这取决于一致的间距,这不是动态的,因此并不理想。

如何可靠地解析出“TestFile”而不是上面示例中所示的“TestFile2”。请注意,Address 出现了两次,但我只需要第一个值。

谢谢

最佳答案

你真的不需要在这里使用回顾。使用捕获的组获取匹配的文本:

(?:\bOFFICE INFORMATION\s+Address:\s*)(\S+)

RegEx Demo

捕获组 #1 将具有值 TestFile

JS代码:

var re = /(?:\bOFFICE INFORMATION\s+Address:\s*)(\S+)/; 
var m;
var matches = [];
if ((m = re.exec(input)) !== null) {
if (m.index === re.lastIndex)
re.lastIndex++;
matches.push(m[1]);
}
console.log(matches);

关于java - 使用正则表达式从包含换行符的文本中解析字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33990964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com