我知道有关于正则表达式和长字符串的堆栈溢出错误的一些帖子,但它们没有帮助我,也从不关心我的解析问题类型。

我只是试图从数学函数中找到括号中的字符串,例如

funktionsstring

=SIN(3.141592653589793238462643383279502884197169399375105820974944592307816406

286208998628034825342117067982148086513282306647093844609550582231725359408

12848111745028410270193852110555964462294895493038196);

使用带有模式的以下代码来查找括号中的字符串x,例如。 (x):

Pattern pattern = Pattern.compile("\\([^(]*?\\)");

Matcher matcher = pattern.matcher(funktionsstring);

我收到以下错误

Exception in thread "AWT-EventQueue-0" java.lang.StackOverflowError

at java.util.regex.Pattern.bitsOrSingle(Pattern.java:2553)

at java.util.regex.Pattern.range(Pattern.java:2601)

at java.util.regex.Pattern.clazz(Pattern.java:2507)

at java.util.regex.Pattern.sequence(Pattern.java:2030)

at java.util.regex.Pattern.expr(Pattern.java:1964)

at java.util.regex.Pattern.compile(Pattern.java:1665)

at java.util.regex.Pattern.(Pattern.java:1337)

at java.util.regex.Pattern.compile(Pattern.java:1022)

at classes.Parser.Klammerauswertung(Parser.java:104)

at classes.Parser.Klammerauswertung(Parser.java:119)

at classes.Parser.Klammerauswertung(Parser.java:119)

我不知道是否可以某种方式改进模式以防止迭代,这似乎导致堆栈溢出。显然,拆分功能在这里不起作用。

另外 - 因为字符串很长 - 我想允许n \

作为角色。由于科学原因,我想通常使用大十进制数(使用apfloat)来获得至少大约100到1000个精确小数,是否可以保持正则表达式改变模式?

如果没有,我该如何重写正则表达式?

有更好的工具吗?

java pattern堆栈溢出_堆栈溢出错误与正则表达式进行解析相关推荐

  1. java 缓冲区溢出_缓冲区溢出详解

    1 缓冲区溢出原理 缓冲区是一块连续的计算机内存区域,可保存相同数据类型的多个实例.缓冲区可以是堆栈(自动变量).堆(动态内存)和静态数据区(全局或静态).在C/C++语言中,通常使用字符数组和mal ...

  2. java long 溢出_关于溢出:Java乘法运算行为

    我编写了一种方法,可以将给定的数字从几天转换为毫秒: private long expireTimeInMilliseconds; ... public void setExpireTimeInDay ...

  3. c和java内存泄漏区别_内存溢出和内存泄漏的区别(转)

    1.1内存溢出:(Out Of Memory---OOM) 系统已经不能再分配出你所需要的空间,比如你需要100M的空间,系统只剩90M了,这就叫内存溢出 例子:一个盘子用尽各种方法只能装4个果子,你 ...

  4. java bufferedimage 内存溢出_内存溢出使用ImageIO.write

    我让我的saveScreenShot线程内存溢出错误,即使是BlockingQueue的空内存溢出使用ImageIO.write在我的主要 存在时,下列变量存储图像 public static Blo ...

  5. java 缓冲区溢出_缓冲区溢出攻击_java教程_缓冲区溢出攻击 漏洞

    主题:[请教] 我想实现缓冲区溢出攻击.就是原程序读取一个字符串.我输入一个特殊的字符串,覆盖 掉原返回地址,使其执行在栈里的代码. 但是当执行到栈里代码时,就会 段错误 而退出. 请问这个是不是现在 ...

  6. mysql做乘法运算溢出_乘法溢出及对策

    最近几次碰到乘法溢出, 情况一: 下面是修订后的版本 void dfs(int pos, int lim, int val, int div) { int i,j; if(pos>prime[0 ...

  7. java打开文件出错_打开文件错误太多,java.io.FileNotFoundException

    在我的程序中,我有循环扫描一堆文件并读取其内容.问题发生在大约1500个文件的迭代中,似乎无法再现(或理解(由我)) 问题: java.io.FileNotFoundException: /path/ ...

  8. java判断颜色合法_判断颜色是否合法的正则表达式(详解)

    判断颜色是否合法的正则表达式(详解) "^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$"; 意思是:以#开头,后面是数字和a-f的字符(大写或小写),这个值是 ...

  9. java偶数的表达式_十六进制数大于10的正则表达式,在Java中长度应为偶数。

    以下是将大于10的十六进制数与偶数长度匹配的正则表达式-^(?=.{10,255}$)(?:0x)?\p{XDigit}{2}(?:\p{XDigit}{2})*$ 哪里,^:匹配句子的开头. (?= ...

最新文章

  1. Maven学习总结(6)——Maven与Eclipse整合
  2. 用 Python 可以实现侧脸转正脸?我也要试一下!
  3. 利用Squid反向代理搭建CDN缓存服务器加快Web访问速度
  4. 【数据结构(C语言版)系列一】 线性表
  5. 共享一个资源(卖票)
  6. treeset java_Java TreeSet first()方法与示例
  7. [Swift]LeetCode268. 缺失数字 | Missing Number
  8. ARMV8 datasheet学习笔记3:AArch64应用级体系结构之Memory order
  9. JavaScript学习(七十四)—递归函数
  10. mysql用来干嘛的_CPU占用又爆了?MySQL到底在干什么
  11. 扇贝有道180920每日一句
  12. UE4官方文档UI学习:3.UMG 创建暂停菜单
  13. java:记一次因时区导致出参和入参时差8小时前因后果
  14. 刷排名优优软件_刷网站排名软件
  15. 华为服务器如何修改ip地址,华为路由器IP地址设置问题-192.168.1.1进不去
  16. php获取手机的mac地址,Android手机获取Mac地址的几种方法
  17. 新书推荐:《AI 3.0》
  18. ADI公司高速PCB布板指南
  19. 系统测试分析系统测试设计
  20. UWB地铁隧道人员定位实现运营人员健康智能监测

热门文章

  1. 友盟一键登录获取手机号码PHP后端
  2. 坚持#第13天~触控培训结束 满载而归
  3. 我一定要争一口气,不是想证明自己有多么了不起,我是要告诉人家,我失去的东西我一定能拿回来
  4. 前端三件套(二):CSS
  5. jQuery入门基础——选择器
  6. 计算机在职双证博士的学校,2020在职博士双证学校名单
  7. TRC20共识机制 DPoS
  8. 3个方法,自定义PPT中的工具,帮你提高90% 的设计效率!
  9. ipad忘记锁屏密码用计算机解决,忘了密码后如何解除iPhone和iPad的屏幕锁定 | 都叫兽软件...
  10. java程序设计实训项目_Java程序设计教程与项目实训