我正在寻找有关此正则表达式的帮助。我有不同长度的字符串,并且只想匹配开头。字符串中有换行符,所以看起来 \A 是要走的路。
我想要匹配以下所有情况的正则表达式:
OPTIONAL: [any whitespace/newlines/etc]
OPTIONAL: <?.*?>
OPTIONAL: [any whitespace/newlines/etc]
MANDAORY: <lemon>
OPTIONAL: anything afterwards.
由于字符串可能会变得很大,因此最终的 Optional 匹配会使其变得非常慢。
我最初的解决方案是:
"(^\\s*<?.*?>\\s*<lemon>)[\\s\\S]*|(^\\s*<lemon>.*)[\\s\\S]*"
这是非常复杂的,并且匹配整个字符串,而不仅仅是开头
我目前最好的尝试是:
"\\A(?:\\s*<?.*?>)?\\s*<lemon>"
但是,如果 之后有任何内容,这不起作用mon>
,则匹配失败。
有没有人知道为什么?上的例子\A
很少,我无法让它工作。