Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅在块中允许指定正则表达式_Java_Regex - Fatal编程技术网

Java 仅在块中允许指定正则表达式

Java 仅在块中允许指定正则表达式,java,regex,Java,Regex,[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF.!?:)(,;1234567890%-#]+$ 对于前正则表达式,每个阿拉伯语句子和数字都被认为是匹配的 现在正则表达式应该匹配句子中包含的任何其他电子邮件地址。(电子邮件前后不需要空格) 要匹配的正则表达式是什么?好的,首先您应该将正则表达式写成: [\u0600-\u06FF\uFB8A\u067E\u0686\u06AF \.!?:)(,;1234567890%\-_#]+$ 这里,%\-内部的[…]表示%或-

[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF.!?:)(,;1234567890%-#]+$

对于前正则表达式,每个阿拉伯语句子和数字都被认为是匹配的

现在正则表达式应该匹配句子中包含的任何其他电子邮件地址。(电子邮件前后不需要空格)


要匹配的正则表达式是什么?

好的,首先您应该将正则表达式写成:

[\u0600-\u06FF\uFB8A\u067E\u0686\u06AF \.!?:)(,;1234567890%\-_#]+$
这里,
%\-
内部的
[…]
表示
%
-
,而您的
%-
表示“代码从
%
的任何符号。请尝试
/[%-\u]/.exec(“)”
看看我的意思:
符号就在这个范围内。我还把
\.
放进去,突出显示它是
符号,而不是“任何符号”,尽管在这种情况下只有
可以正常工作

现在,你想在文本中允许电子邮件。好吧,但对于简单的情况,你可以使用

[\w\-]+@[\w\-\.]+\.\w+
无论如何,一旦您选择了电子邮件rexep(可能是其中一个复杂的解决方案),您应该像这样将其连接到您的regexp(我使用上面显示的简单方法):

但这不会处理空白,这意味着这不会检查电子邮件前后是否有空格/制表符/标点符号。这意味着此文本也将有效:

<arabic> <arabic> <arabic>email<arabic> <arabic>.
                         /\   /\ no whitespace or punctuation here
电子邮件。
/\/\n此处没有空格或标点符号

Regex的文档非常完整,很容易在网站上找到,在这个网站上,你应该在提问之前做足够的研究。像“我对Regex不是很精通,如果你能帮我的话,我会感谢你的”这样的陈述被解释为“我太懒了,不能做研究,请给我一个答案。”“。如果您访问并阅读以了解此网站的内容,可能会有所帮助。@Jim Garrison不应该这样解释,我在此之前已经提交了我的工作。”。我要寻找的答案对于中级开发人员来说要困难得多。你知道你现在的正则表达式是如何工作的吗?如果是,是什么阻止您应用相同的逻辑/机制从所选范围中选取所有字符?不清楚“介于@和空格之间”是什么意思。您当前的正则表达式中没有“@”。我认为,你应该重新措辞你的问题。我猜你不仅要匹配阿拉伯语,还要匹配包含电子邮件的阿拉伯语,对吗?@YakovL是的,没错。虽然我得到了-4,但我的问题解决了。谢谢你。@Mehrdad你可能仍然应该尽力编辑和澄清这个问题。不幸的是,这很难理解,尽管我的猜测是正确的。如果你做得相当好,我甚至可以投你一票。无论如何,欢迎您。只需一个简短的问题,regex开头的
?:
是什么?@Mehrdad它是非捕获组包装的一部分
(?:…)
,请参阅
<arabic> <arabic> <arabic>email<arabic> <arabic>.
                         /\   /\ no whitespace or punctuation here