问题内容: 我正在建立正则表达式以检查单词是否以或或开头,我的代码如下, 它打印。我还检查了Regex之后的 stackoverflow,以测试字符串是否以http://或https://开头 正则表达式似乎是正确的,但为什么不匹配?我甚至尝试和 问题答案: 您需要在此处进行 完整的输入 匹配。 编辑 :(基于@davidchambers的评论)
问题内容: 是的,您没看错。我需要能够从正则表达式 生成 随机文本的内容。因此,文本应该是随机的,但要与正则表达式匹配。看来它不存在,但我可能是错的。 仅举一个例子:该库将能够以“ ”作为输入,并生成诸如以下示例: abc abbbc bac 等等 更新:我自己创建了一些东西:Xeger。查看http://code.google.com/p/xeger/。 问题答案: 我刚刚创建了一个库来进行此操
问题内容: 我正在阅读有关Java 8的教程,作者在 其中显示了代码: 然后说 无法从lambda表达式内访问默认方法。以下代码无法编译: 但是他没有解释为什么这是不可能的。我运行了代码,但出现了错误, 不兼容的类型:公式不是功能界面` 那么为什么不可能或错误的含义是什么呢? 该接口满足具有一种抽象方法的功能接口的要求。 问题答案: 这或多或少是范围的问题。从JLS 与出现在匿名类声明中的代码不同
问题内容: 有没有更好的功能方法,可以使用Java 8 lambda语法将“ key:value”形式的字符串数组转换为a ? 我现在拥有的解决方案似乎并没有真正起作用: 问题答案: 您可以修改解决方案以将的数组收集到中(而不是使用): 当然,该解决方案不能防止无效输入。也许您应该添加一个过滤器,以防拆分字符串没有分隔符: 这仍然不能保护您免受所有无效输入的侵害(例如,将导致抛出)。
问题内容: 我正在浏览Java源代码中的接口,并遇到了以下这段代码: 从方法声明中,我知道这是一个通用方法,该方法返回一个Comparator类型,该Comparator类型可以从传递给它的映射条目中推断出来,也可以在该方法中明确提供。 真正让我失望的是返回值。似乎lambda表达式 被显式转换为。这是正确的吗? 我还注意到,表观演员包括。我之前从未见过将接口与类组合在一起的类型,但是在编译器中它
问题内容: 我是在Java 8中使用Lambda表达式功能的初学者。Lambda表达式在解决诸如质数检查,阶乘等程序方面非常有用。 但是,它们可以有效地用于解决斐波纳契等问题,其中当前值取决于前两个值的总和。我已经使用Lambda表达式有效地解决了质数检查问题。相同的代码如下。 在该方法的上述代码中,我们使用范围内的当前value()进行评估。但是对于斐波那契问题,我们需要前面的两个值。 我们如何
问题内容: 我有一个字符串: 我要删除paren内部和paren本身中的所有内容,仅保留: 我试图用正则表达式来做到这一点,但是我的困难在于这种模式: 当我使用它时,它总是给我一个。如何修复我的正则表达式? 问题答案: 由于括号是正则表达式中的特殊字符,因此您需要对其进行转义以明确匹配它们。 例如:
问题内容: 用java 方法剥离输入的字符串(如MY-CORP \ My.Name)中的MY-CORP \部分的正则表达式是什么,这样我只能得到My.Name部分? 我试过了 但是我 在索引4 ^附近 遇到了 意外的内部错误。 * 问题答案: 您的问题是反斜杠在Java字符串和正则表达式中都有特殊含义。因此,您需要在Java源代码中使用四个斜杠,将两个斜杠传递给regex解析器以在regex中获得
问题内容: 我必须匹配一个8字符串,该字符串可以包含正好2个字母(1个大写字母和1个小写字母)以及正好6个数字,但是它们可以任意排列。 因此,基本上: K82v6686将通过 3w28E020会通过 1276eQ900会失败(时间太长) 98Y78k9k会失败(三个字母) A09B2197将会失败(两个大写字母) 我尝试使用正向前瞻来确保该字符串包含数字,大写和小写字母,但是在将其限制为一定数目的
问题内容: 我必须先匹配一个数字,然后再匹配14次。然后,我来到了regexstor.net/tester中的以下正则表达式: 编辑 当我将其粘贴到代码中时,包括正确的反斜杠: 我已经用来替换了反向引用,该反向引用用于替换Java中的匹配项。 然后我意识到这是行不通的。在Java中,当需要在REGEX中向后引用匹配项时,必须使用,但是要替换它时,运算符为。 我的问题是:为什么? 问题答案: 在Ja
问题内容: Perl RegEx和PCRE(与Perl兼容的RegEx)等具有简化的功能,可以丢弃除捕获组之外左侧的所有匹配项,但是Java不支持它,那么Java等效于它吗? 问题答案: 没有直接的等价物 。但是,您始终可以使用 捕获组 重新编写此类模式。 如果仔细研究运算符及其限制,您会发现可以使用 捕获组 替换此模式。 请参阅rexegg.com 参考: 在模式中间,说“将已报告比赛的开始重置
问题内容: 我正在尝试匹配\ ^ c形式的控制字符,其中c是控制字符的任何有效字符。我有这个正则表达式,但目前无法使用: 我认为问题在于,插入符号(^)是正则表达式解析引擎的一部分。 问题答案: 使用pattern 匹配形式的ASCII文本字符串,仅此而已。将形式的ASCII文本字符串与模式匹配。你不妨约束点缀到,所以。对于方括号字符类而言,它更容易阅读,因此对于原义BACKSLASH,其后是原义
问题内容: 如何知道该字符串包含至少2个大写字母?例如,这些是有效的字符串“ Lazy Cat”,“ NOt very lazy cat”。使用Java 1.7。 问题答案: 尝试使用以下正则表达式: 要么
问题内容: 我正在实现某种解析器,我需要定位并反序列化 嵌入到其他半结构化数据中的 json对象。我用了regexp: 定位物体 但不适用于嵌套对象,因为表达式仅匹配第一个找到的右花括号。对于 它匹配 因此字符串对于反序列化变得无效。我知道有一个贪婪的业务正在考虑中,但是我对正则表达式并不熟悉。您能否帮助我扩展表达式以使用所有可用的大括号。 更新: 明确地说,这是尝试从具有嵌入式JSON的半结构化
问题内容: 我正在尝试输入之间的内容,我的模式没有做正确的事,请帮忙。 下面是sudocode: 要求的输出: 之一 二 三 问题答案: 先行使用并在循环中使用,而不是: 看到它在线上工作:ideone 但是最好在这里使用split: 看到它在线上工作:ideone