如何用正则化表达式提取两个特定字符之间的内容
发布网友
发布时间:2022-05-10 19:45
我来回答
共2个回答
热心网友
时间:2023-07-21 21:27
我有两种方法可捕获中间的内容:
方法1、以组形式捕获
Reference:(.*?)About the author //多行模式 捕获组1
以下是java语法(不知道你是用什么语言,可追问)
String regex = "Reference:(.*?)About the author"; //此为表达式
String input = ""; //此为待搜索的字符串
Pattern p = Pattern.compile(regex,Pattern.DOTALL); //多行模式
Matcher matcher = p.matcher(input);
ArrayList<String> list = new ArrayList<String>();
if (matcher.find()) {
list.add(matcher.group(1)); //这个地方捕获组1
}
// list 就是搜索的结果
如果是单行模式请注意,表达式应写为:
Reference:((.|\r\n)*?)About the author //单行模式 捕获组1
方法2、使用零宽断言,表达式如下:
(?<=Reference:).*?(?=About the author)
句意可理解为:左边要有什么,并且右边要有什么,捕获中间的部分追问谢谢!好人!我用的是风越代码生成器。里面给的示范是下面这句
()([\s\S]*?)()
这句话不知该怎么修改?
我想加QQ,然后你远程帮我改一下可不可以?
谢谢592471429
热心网友
时间:2023-07-21 21:28
Reference:(.*?)
About the author,
捕获组1追问我可以通过QQ问你吗
QQ:592471429