社区
Web 开发
帖子详情
正则表达式的问题
soho00222
2006-03-14 02:24:42
正则表达式的字符为
(?<=(<a href=.*sbl.lasso\?query=SBL(\d+).*>))(SBL\d+).*(?=\</a>)
报错,java.util.regex.PatternSyntaxException: Look-behind
group does not have an obvious maximum length near index 43
43的位置为")"
这段正则表达式有 问题吗?请指教,在JAVA中,用正则表达式要注意哪些特殊符号呢
...全文
229
8
打赏
收藏
正则表达式的问题
正则表达式的字符为 (?<=())(SBL\d+).*(?=\) 报错,java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 43 43的位置为")" 这段正则表达式有 问题吗?请指教,在JAVA中,用正则表达式要注意哪些特殊符号呢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
低调的小青蛙
2006-03-14
打赏
举报
回复
{1,10000}
其实选择 10000 是随意的,就是选一个大一点的,没必要太大
soho00222
2006-03-14
打赏
举报
回复
tt
soho00222
2006-03-14
打赏
举报
回复
那"+"号用什么代替?
低调的小青蛙
2006-03-14
打赏
举报
回复
搂主的问题我遇到过,这是 java 的正则表达式的原因,算不上错误。
java 的正则表达式中,反向预搜索(?<=xxxxxx)中的表达式,不能有 "*", "+" 等能匹配无限长度的表达式。搂主只能使用 ".{0,10000}" 来代替 ".*"
搂主的表达式本身没有问题,只是 java 的正则表达式有这个局限。
更多关于正则表达式的讲解与举例,参考文章:
http://www.regexlab.com/zh/regref.htm
soho00222
2006-03-14
打赏
举报
回复
把"\"换成"\\"了
soho00222
2006-03-14
打赏
举报
回复
public static String getBody(String html) throws Exception {
String sblregex = "(?<=(<a href=.*sbl.lasso\\?query=SBL(\\d+).*>))(SBL\\d+).*(?=\\</a>)";
System.out.print(sblregex);
Pattern pattern = Pattern.compile(sblregex);
Matcher m = pattern.matcher(html);// 理解成创建匹配器
boolean result;
result = m.find();
int i = 0;
while (result) {
i++;
for (int j = 1; j <= m.groupCount(); j++) {
System.out.println("匹配结果" + i + "" + m.group(j));
}
// 继续查找下一个匹配对象
result = m.find();
}
return html;
}
believefym
2006-03-14
打赏
举报
回复
java.util.regex.Pattern
believefym
2006-03-14
打赏
举报
回复
关于正则式具体可以看java.util.Pattern的api doc,讲得很详细
如果要找错,楼主不妨把代码多贴一点
正则表达式
30分钟入门教程doc
正则表达式
30分钟入门教程
Python
正则表达式
(一看就懂)
哈喽O(∩_∩)O 今天来发一下python
正则表达式
,其实这个也是比较简单的 什么是
正则表达式
(⊙_⊙) 目前越来越多的网站、编辑器、编程语言都已支持一种叫“
正则表达式
”的字符串查找“公式”,有过编程经验的同学都应该了解
正则表达式
(Regular Expression 简写regex)是什么东西,它是一种字符串匹配的模式(pattern),更像是一种逻辑公式。 简单说,
正则表达式
是 python中必备的工具,主要是用来查找和匹配字符串的。
正则表达式
尤其在python爬虫上用的多。 正则表达
Linux基础之
正则表达式
正则表达式
:又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
正则表达式
通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式
是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符...
Java
正则表达式
之“\\“理解
相信很多人在使用
正则表达式
的时候都会遇到如下的语句: 通过查阅
正则表达式
的API文档可以了解到
正则表达式
的语法知识: 很多小伙伴就会产生疑问为什么语法是"\d"(或是"\D"、"\w"),为什么在语句中使用的时候就变成了"\\" ?????? 下面以"\\d"为例: 理解一: 这要分两步看 ①.首先字符串中的\\被编译器解释为\ ------> 第一步,编译器将字符串转变为“
正则表达式
” ②.然后作为
正则表达式
,\d又被
正则表达式
引擎解释为“数字[0--...
正则表达式
在线自动生成器
正则表达式
的强大众所周知,它令程序员的头痛程度也数一数二的。最近我发现了一个网站,txt2re,能够自动为你生成
正则表达式
,而且很灵活,在这里推荐一下。 网址: http://www.txt2re.com/ http://txt2re.com/ 第一步,输入你想要转成
正则表达式
的字符串,点击"show matches" 第二步,看到下面花花绿绿的格子了吗?它是自动生成的N种正则匹...
Web 开发
81,115
社区成员
341,731
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章