相关疑难解决方法(0)

474
推荐指数
11
解决办法
22万
查看次数

贪婪与不情愿与占有量词

我发现这个关于正则表达式的优秀教程,虽然我直观地理解"贪婪","不情愿"和"占有欲"量词的作用,但我的理解似乎存在严重漏洞.

具体来说,在以下示例中:

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 ending at index 4.
I found the text "xxxxxxfoo" starting at index 4 and ending at index 13.

Enter your regex: .*+foo // possessive quantifier
Enter …
Run Code Online (Sandbox Code Playgroud)

regex regex-greedy

342
推荐指数
5
解决办法
9万
查看次数

有什么区别.*?和.*正则表达式?

我正在尝试使用正则表达式将字符串分成两部分.字符串格式如下:

text to extract<number>
Run Code Online (Sandbox Code Playgroud)

我一直在使用(.*?)<,<(.*?)>哪个工作正常,但在阅读了一点regex之后,我才开始想知道为什么我需要?表达式中的.我通过这个网站找到它们之后才这样做,所以我不确定它们之间的区别.

regex regex-greedy

126
推荐指数
3
解决办法
9万
查看次数

参考 - 这个正则表达式意味着什么?

这是什么?

这是常见问答的集合.这也是社区Wiki,因此每个人都被邀请参与维护.

为什么是这样?

患的是给我泽码型的问题和答案不佳,没有解释.此参考旨在提供质量问答的链接.

范围是什么?

此引用适用于以下语言:,,,,,,.

这可能过于宽泛,但这些语言共享相同的语法.对于特定功能,它背后的语言标签,例如:

  • 什么是正则表达式平衡组?

regex

52
推荐指数
1
解决办法
11万
查看次数

这个正则表达式有什么问题?

在java中,我试图检测表单的字符串:可选的下划线,大写字母,然后是包含两个参数的大括号.就是这样的事情MAX{1,2} FUNC{3,7} _POW{9,10}

我决定推迟处理这些参数,所以我使用的正则表达式是:

_?[A-Z]+//{.*//}
Run Code Online (Sandbox Code Playgroud)

但是在尝试将其编译为Pattern对象时遇到以下错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 9
_?[A-Z]+//{.*//}
         ^
Run Code Online (Sandbox Code Playgroud)

谁知道问题是什么?

java regex function

5
推荐指数
1
解决办法
2万
查看次数

Hows做正则表达式:/.+?/工作?

怎么会'.+?' 正规表达工作?.+部分是否匹配任何内容,以及?部分说它可以在那里吗?因此,例如,此正则表达式将匹配:

'cat'
''(即没有写,只是空字符串)

regex

3
推荐指数
2
解决办法
887
查看次数

一个正则表达式可以实现吗?

我有一个字符串

{! texthere }
Run Code Online (Sandbox Code Playgroud)

我希望在{!直到结束或你到达第一个}.所以,如果我有

{!text here} {!text here again} {!more text here.好家伙!

我希望["{{text here}","{{text here again}","{!more text here.哦,boy!"]

我认为这会奏效

{!*} ??

但上面的字符串会出现[{{{text here} {!text here again} {!more text here.哦,小男孩!"]

我仍然对正则表达式缺乏经验,所以我不明白为什么这不起作用.我认为它会匹配'{!' 然后是任意数量的字符,直到你得到一个可能不存在的括号(非贪婪).

regex

3
推荐指数
1
解决办法
89
查看次数

Pattern.compile( "(*):?")

我正在尝试理解以下代码:

Pattern.compile("(.*?):")
Run Code Online (Sandbox Code Playgroud)

我已经做了一些关于它可能意味着什么的研究,但我不太明白:

根据java文档,*意味着0次或更多次,而?意味着一次或根本不意味着.

另外,':'是什么意思?

谢谢

java regex

1
推荐指数
1
解决办法
1924
查看次数

标签 统计

regex ×8

regex-greedy ×3

java ×2

function ×1

non-greedy ×1