我有一个正则表达式字符串数组。其中之一必须与给定java文件中找到的任何字符串匹配。
这是我到目前为止拥有的正则表达式字符串: "(\").*[^\"].*(\")"
但是,"Hello\"good day"
即使字符串内的引号被转义,该字符串也会被拒绝。我认为,无论字符串是否转义,当在字符串中找到引号时,我都会立即拒绝它。我需要它接受带转义引号的字符串文字,但它应该拒绝"Hello"Good day"
。
Pattern regex = Pattern.compile("(\").*[^\"].*(\")", Pattern.DOTALL);
Matcher matcher = regex.matcher("Hello\"good day");
matcher.find(0); //false
在Java中,您可以使用此正则表达式匹配"
和之间的所有转义引号"
:
boolean valid = input.matches("\"[^\"\\\\]*(\\\\.[^\"\\\\]*)*\"");
使用的正则表达式是:
^"[^"\\]*(\\.[^"\\]*)*"$
分手:
^ # line start
" # match literal "
[^"\\]* # match 0 or more of any char that is not " and \
( # start a group
\\ # match a backslash \
. # match any character after \
[^"\\]* # match 0 or more of any char that is not " and \
)* # group end, and * makes it possible to match 0 or more occurrances
" # match literal "
$ # line end
正则演示
问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需
问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)
问题内容: 我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。 我有一组价值观,例如: 028938 DEF567987 390987.456 GHI345928.039 我想匹配一组特定的字符串,例如: 完全由6位数字组成的字符串 字符串,由正好6位数字,十进制组成
我正在arround制作一个与字符串的某个块匹配的正则表达式,问题是它包含许多相似的块,并且没有清楚地分开,所以我不知道如何停止正则表达式。 字符串的例子 所以我要做的是匹配并只选择第一个A1。到目前为止,我所做的是:
本文向大家介绍String字符串匹配javascript 正则表达式,包括了String字符串匹配javascript 正则表达式的使用技巧和注意事项,需要的朋友参考一下 在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,下面所述是对相关方法使用的总结,需要的朋友参考下。 String对
我正在使用adobe javascript中的正则表达式在绘图标题栏中查找一串单词。从数字(1)开始,然后是日期,然后是不同数量的单词和4组首字母 图形标题栏示例具有以下内容: 1 20.09.16 此测试的更改 SB SB BW CR 0 29.07.16批准用于施工MM SB BW GM 正则表达式结果是 对于建筑MM SB BW GM 1 20.09.16本试验的变更 我需要正则表达式是 1