社区
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中,用正则表达式要注意哪些特殊符号呢
...全文
218
8
打赏
收藏
正则表达式的问题
正则表达式的字符为 (?<=())(SBL\d+).*(?=\) 报错,java.util.regex.PatternSyntaxException: Look-behind group does not have an obvious maximum length near index 43 43的位置为")" 这段正则表达式有 问题吗?请指教,在JAVA中,用正则表达式要注意哪些特殊符号呢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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,讲得很详细
如果要找错,楼主不妨把代码多贴一点
Linux基础之
正则表达式
正则表达式
:又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
正则表达式
通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式
是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符...
中文
正则表达式
匹配-正则中文匹配
原文链接:http://caibaojian.com/zhongwen-regexp.html这篇文章主要讲如何使用正则匹配中文字符,中文
正则表达式
的匹配规则不像其他正则规则一样容易记住,下面一起看看这个中文
正则表达式
是怎么样的。\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下匹配中文字符的
正则表达式
: [\u4e00-\u9fa5]或许你也需要匹配双字节字符,中文也是双...
Java
正则表达式
之“\\“理解
相信很多人在使用
正则表达式
的时候都会遇到如下的语句: 通过查阅
正则表达式
的API文档可以了解到
正则表达式
的语法知识: 很多小伙伴就会产生疑问为什么语法是"\d"(或是"\D"、"\w"),为什么在语句中使用的时候就变成了"\\" ?????? 下面以"\\d"为例: 理解一: 这要分两步看 ①.首先字符串中的\\被编译器解释为\ ------> 第一步,编译器将字符串转变为“
正则表达式
” ②.然后作为
正则表达式
,\d又被
正则表达式
引擎解释为“数字[0--...
正则表达式
在线自动生成器
正则表达式
的强大众所周知,它令程序员的头痛程度也数一数二的。最近我发现了一个网站,txt2re,能够自动为你生成
正则表达式
,而且很灵活,在这里推荐一下。 网址: http://www.txt2re.com/ http://txt2re.com/ 第一步,输入你想要转成
正则表达式
的字符串,点击"show matches" 第二步,看到下面花花绿绿的格子了吗?它是自动生成的N种正则匹...
C++
正则表达式
教程:C++ 中的
正则表达式
与示例
C++
正则表达式
教程解释了 C++ 中
正则表达式
的工作,包括
正则表达式
匹配、搜索、替换、输入验证和标记化的功能。 几乎所有的编程语言都支持
正则表达式
。 C++ 从 C++11 开始直接支持
正则表达式
。除了编程语言之外,大多数文本处理程序(如词法分析器、高级文本编辑器等)都使用
正则表达式
。 在本教程中,我们将探讨
正则表达式
的一般细节以及 C++ 编程方面的细节。 正则匹配中的基础符号 ^开头 ()组 []或, {}几次 $结尾 1. C++ 中的
正则表达式
(Regex)
正则表达式
是包含一系列字符的表达
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章