gpt4 book ai didi

java - 将用户提供的字符串转换为文字字符串,以附加预定义的正则表达式

转载 作者:行者123 更新时间:2023-12-03 20:44:16 25 4
gpt4 key购买 nike

我有一个用户提供的字符串,然后我需要将其转换为正则表达式,其中将其字符串视为文字,然后在末尾附加一个预先编写的正则表达式。

本质上,一种说法是“用户提供了什么,然后是这个模式”。

这让我觉得我可能需要清理用户提供的字符串,以转义元字符。

例如,这是我尝试过的
\\ Replace "\" with "\\"

String rE = userText.replaceAll("\\", "\\\\");

\\ Replace . with \.

rE = rE.replaceAll(".", "\\.");

但是,当匹配\转义时,这会失败并显示以下消息

Execution aborted because of unhandled exception:
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
\
^ at java.util.regex.Pattern.error(Pattern.java:1725)
at java.util.regex.Pattern.compile(Pattern.java:1478)

有没有更简单的方法来做到这一点?我怀疑有一种内置方法可以将潜在的正则表达式转换为文字,但我找不到它。

我看过类似的问题,但似乎没有人想将用户输入字符串视为文字。

最佳答案

使用 Pattern.quote 将用户提供的字符串引用为文字模式的方法。

关于java - 将用户提供的字符串转换为文字字符串,以附加预定义的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7931040/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com