问题内容: 因此,我正在研究具有一些静态常量的此类: 然后,我想一种基于常量获取相关字符串的方法: 但是,当我编译时,在3个大小写标签的每一个上都出现错误。 我知道编译器需要在编译时就知道表达式才能编译开关,但是为什么不是常量? 问题答案: 尽管从初始化字段之后执行的任何代码的角度来看,它们是恒定的,但从JLS 的角度来看,它们不是编译时常数。有关常量表达式1的规范,请参见第15.28节常量表达式
问题内容: 在Java中,我试图将所有正则表达式匹配项返回到数组,但是似乎您只能检查模式是否匹配某些内容(布尔值)。 如何使用正则表达式匹配在给定字符串中形成所有与正则表达式匹配的字符串数组? 问题答案: (如果你可以假设,则4castle的答案比下面的要好) 你需要创建一个匹配器,并使用它来迭代查找匹配项。 之后,包含匹配项,如果你确实需要一个数组,则可以使用它来获取一个数组。 返回了当前组状态
问题内容: Java中有没有一种方法可以从以下数学表达式获得结果: 另一方面,解析算术表达式的最佳方法是什么? 问题答案: 你可以将其传递给如下所示: 你将要确保评估的字符串来自受信任的来源,并采取通常的预防措施,否则,它将立即起作用。 如果你想采用更复杂(但更安全)的方法,则可以使用ANTLR(我怀疑这是一个数学语法的起点),然后实际自己编译/解释该语句。
问题内容: 我正在尝试使用Java匹配多行文本。当我将类与修饰符一起使用时,我可以匹配,但不能. 使用和使用相同的模式似乎无效。 我确定我缺少什么,但不知道是什么。正则表达式不是很好。 这就是我尝试过的 问题答案: 首先,你在错误的假设下使用修饰符。 或告诉Java接受锚点并在每行的开头和结尾进行匹配(否则,它们仅在整个字符串的开头/结尾进行匹配)。 或告诉Java也允许点与换行符匹配。 其次,在
问题内容: 我想检查一个字符串是否匹配1-2个字母,1-4个数字和1个字母的模式。(例如: CC44C , C4444C )。 我知道这将完全匹配2个字母,4个数字和1个字母的模式。(例如: CC4444C ) 但是,如何使它与范围(即1-2个字母,1-4个数字)匹配的模式呢? 我已经尝试过,但是它给了我以下错误: 问题答案: 您需要将{1-2}更改为{1,2},您可以理解为{minimun,ma
问题内容: 我有一个包含以下文本的字符串 我想将每个 孤立的 br 替换为 问题是我想避免将字符串转换为 我想做的是将字符串(使用replaceAll)转换为 我敢肯定这很简单,但是我的正则表达式不正确。 我的正则表达式 应该 找到“空白”,“ b”,“ r”,“空白”或“空白”,“ b”,“ r”,“行尾” 但是它错过了我字符串中的最后一个“ br” 我究竟做错了什么??TKS! 问题答案: 用
问题内容: 我在Java 8映射操作中传递了一个Function,Intellij告诉我可以将其替换为lambda表达式。但是我不知道如何在不创建中间对象结构的情况下做到这一点。 这是我的工作: 我认为Intellij建议我这样做: 我不知道一种干净的方法来获取在匿名函数中检索到的objectType.getTempUrl()。getFullUrl()部分,有什么建议吗? 问题答案: 你总是可以写
问题内容: 下面的表达式: 运行编译的.Jar文件时,覆盖匹配的缓冲区。 匹配的字符串可以类似于: 这是一条垃圾线 #ifdef FEATURE #endif // FEATURE的结尾 这是一条垃圾线 #ifdef功能 这是一条应该匹配的垃圾线:HOLasduiqwhei&//功能fjfefj #endif // h #endif功能 这是一条垃圾线 因此,粗体字符串应匹配。错误如下: 欢迎采取
问题内容: 我试图用下划线替换方括号内的破折号,但它用字符串中的下划线替换所有破折号。 例如,我要替换 与 但是它将下划线替换字符串中的 所有 破折号。 问题答案: 您可以使用 至于正则表达式本身,只有在符号后跟非s和非s的情况下,我才会匹配该符号,直到引擎找到为止。然后,我们在s中。可能情况并非如此(第4个连字符),但我希望这不是您的情况。 IDEONE演示 输出:
问题内容: 当我尝试编译该程序时,在第21行出现“无法到达的语句”错误: 完整的编译器输出为: 我 认为 这些语句在正确的地方…至少在我看来似乎是正确的,并且与我从中克隆的程序相比,该程序看起来是如此简单,以至于我很难确定为什么要这样做。语句无法到达。 复制代码时我做错了什么,我该如何纠正? 问题答案: 您以为您的问题在这里是对的: 该函数将 终止 您的方法,这意味着将不执行任何超出代码的行。如果
问题内容: 当匹配某些字符(例如换行符)时,可以使用正则表达式“ \\ n”或仅使用“ \ n”。例如,以下将字符串拆分为行数组: 但是以下内容同样适用: 我的问题: 上面两个是 完全 一样地工作,还是有细微的差别?如果是后者,能否举个例子,说明您得到不同的结果? 还是仅在[可能/理论]表现上有所不同? 问题答案: 在当前情况下没有区别。通常的字符串转义序列是在单个反斜杠的帮助下形成的,然后有效的
问题内容: 如何在Java Regex中定义重复组? 假设一个2位数[0-9] {2}多次用分隔, 这是可能的还是唯一的机会? 编辑:我想验证并提取。 问题答案: 最简单的方法是使用两步解决方案:1)首先,验证字符串,然后2)用您选择的定界符分割字符串: 在此,匹配以两位数字开头的整个字符串,然后匹配出现的0个或多个和结尾的两位数字,然后用逗号分割该字符串。注意你不需要和美女主播与图案内,因为该方
问题内容: 我有这样的字符串: 而且我只需要使用regexp的href值提取: 每次的href值也可以不同,可以更长或更短 问题答案: 假设myString包含带有元素的字符串。 由于href属性不能嵌套,因此应该没问题,并且不需要完整的HTML解析器。一个限制是它只能在双引号中找到href属性。
问题内容: 我正在使用正则表达式从多个文档中提取一些字符串。我陷入了针对特定正则表达式的“ StackOverflowError”问题。如果不使用该正则表达式,程序将顺利执行。 我的代码: 当我删除模式p6时,它没有显示任何错误。 stackTrace如下: 问题答案: 问题来自以下部分: 可以在Oracle / OpenJDK JRE上编译为以下结构,其实现使用递归(请注意参考资料)来匹配 非确
问题内容: 我正在尝试创建一个检测新类的正则表达式,例如: 要么 这是我到目前为止所没有的,但是没有检测到: 任何人都可以给我一些指示吗? 问题答案: 如下更改您的正则表达式以匹配两种类型的字符串格式。 例: 输出: