Tag: 正则表达式

如何使用Java中的regex从YouTubeurl获取videoID

从javascript答案移植到Java版本JavaScript REGEX:如何从URL获取YouTubevideoID?

包含字母顺序字母的单词的正则表达JAVA

我的学生(高中)问了一个关于正则表达式匹配包含字母顺序字母的单词的问题。 说实话,我不知道如何创建正则表达式。 单词匹配示例,字母大小无关紧要: abc, aWZ, gOR, bor

正则表达式匹配字符串中任意顺序的至少2位数字,2个字母

我正在尝试创建一个模式匹配的正则表达式(用于密码),其中字符串必须在8到30个字符之间,必须至少有2个数字,至少2个字母(不区分大小写),至少1个特殊字符,以及空间不足。 我有空格和特殊字符匹配工作,但我被抛出2位数字和2个字母,因为它们不需要连续。 即它应匹配a1b2c$或ab12$或1aab2c$ 。 这些字母有这样的东西吗? (?=.*[a-zA-Z].*[a-zA-Z]) // Not sure. 下面这个字符串有效,但只有当2个字母是连续的并且2个数字是连续的时…如果字母,数字,特殊字符交织在一起则失败。 (?=^.{8,30}$)((?=.*\\d)(?=.*[A-Za-z]{2})(?=.*[0-9]{2})(?=.*[!@#$%^&*?]{1})(?!.*[\\s]))^.*

Python和Java之间RegEx语法的差异

我在Python中有一个正在运行的正则表达式,我正在尝试转换为Java。 似乎实现中存在细微差别。 RegEx试图匹配另一个reg ex。 有问题的RegEx是: /(\\.|[^[/\\\n]|\[(\\.|[^\]\\\n])*])+/([gim]+\b|\B) 它遇到问题的其中一个字符串是: /\s+/; reg ex不应该与结尾匹配; 。 在Python中,RegEx正常工作(并且与结尾不匹配;但在Java中它确实包含; 。 问题: 我该怎么做才能让这个RegEx在Java中运行? 根据我在这里阅读的内容,此RegEx应该没有区别。 Python和Java中的RegEx实现之间是否存在差异列表?

在Java中使用Regex拆分字符串

有人能帮助我一些正则表达式。 我想将以下字符串拆分为数字,字符串编号 “810LN15” 1方法要求返回810,另一方法需要LN,另一方法应返回15。 对此唯一真正的解决方案是使用正则表达式,因为数字的长度会增长 我可以用什么正则表达式来容纳这个?

如何使用正则表达式匹配括号内的文本?

我有以下模式: (COMPANY) -277.9887 (ASP,) -277.9887 (INC.) 我希望最终输出为: COMPANY ASP,INC。 目前我有以下代码,它不断返回原始模式(我假设因为该组都在第一个’(’和最后’)’之间 Pattern p = Pattern.compile(“((.*))”,Pattern.DOTALL); Matcher matcher = p.matcher(eName); while(matcher.find()) { System.out.println(“found match:”+matcher.group(1)); } 我正在努力获得我需要的结果,并感谢任何帮助。 我得到每个小组后,我并不担心连接结果,只需要得到每个小组。

了解量词

我正在阅读关于量词的Java教程 。 贪婪,不情愿和占有量词之间的差异有所不同。 我无法理解究竟是什么区别。 解释如下: Enter your regex: .*foo // greedy quantifier Enter input string to search: xfooxxxxxxfoo I found the text “xfooxxxxxxfoo” starting at index 0 and ending at index 13. Enter your regex: .*?foo // reluctant quantifier Enter input string to search: xfooxxxxxxfoo I found the text “xfoo” starting at index 0 and […]

关于标点符号的正则表达式

所以我对正则表达式完全不熟悉 ,我正在尝试使用Java的java.util.regex来查找输入字符串中的标点符号。 我不知道我可能提前得到什么样的标点符号,除了(1)!,?,。,…都是有效的puncutation,(2)“”表示特殊的东西,并且不算作标点符号。 程序本身伪随机地构建短语,我想在句子通过随机过程之前去掉句子末尾的标点符号。 我可以将整个单词与任何标点符号匹配,但匹配器只是为我提供了该单词的索引。 换一种说法: Pattern p = Pattern.compile(“(.*\\!)*?”); Matcher m = p.matcher([some input string]); 会用”!”抓住任何单词 最后。 例如: String inputString = “It is a warm Summer day!”; Pattern p = Pattern.compile(“(.*\\!)*?”); Matcher m = p.matcher(inputString); String match = inputString.substring(m.start(), m.end()); 结果 – >字符串匹配〜“天!” 但我希望Matcher索引只是”!” 所以我可以把它分开。 我可能会创建案例,并使用String.substring(…)来获取我可能获得的每种标点符号,但我希望我使用正则表达式时会出现一些错误。

正则表达式为一个或多个字母/数字和零或更多空格

我想在我的字符串中允许0个或更多的空格以及在我的字符串中允许一个或多个AZ或az或0-9。 正则表达式允许Java中的空格字符 建议[0-9A-Za-z ]+ 。 我怀疑,这个正则表达式匹配具有零个或多个空格的模式。 如何在字符串中的任何位置允许0个或更多空格以及在字符串中的任何位置允许一个或多个字符。 这会有用吗? ([0-9A-Za-z]+)([ ]*)

在Java String.split()方法中使用转义字符处理分隔符

我在网上搜索了我的查询,但没有得到完全符合我要求的答案。 我有我的字符串如下: A|B|C|The Steading\|Keir Allan\|Braco|E 我的输出应如下所示: A B C The Steading|Keir Allan|Braco E 我的要求是跳过分隔符,如果前面有转义序列。 我在String.split()使用负面lookbehinds尝试了以下方法: (?<!\\)\| 但是,我的问题是分隔符将由最终用户动态定义,并且不必总是| 。 它可以是键盘上的任何字符(没有限制)。 因此,我怀疑上述正则表达式可能会因正则表达式中不允许的某些特殊字符而失败。 我只是想知道这是否是完美的方式。