Java是否有内置的方法来转义任意文本,以便它可以包含在正则表达式中?例如,如果我的用户输入"$ 5",我想在输入结束后完全匹配而不是"5".
我需要实现一个搜索,用户可以输入*作为外卡.他们正在搜索的数据库是SQL服务器.我只想用*替换*:
userInput = userInput.replace('*', '%');
Run Code Online (Sandbox Code Playgroud)
我担心,因为我"手工"这样做,我可能会引入一些错误或安全漏洞.你觉得这样做有什么问题吗?有没有图书馆可以帮我这么做?
我使用Hibernate作为ORM映射器和Criteria API来创建查询,如果它有助于答案.
我有以下几行:
"14:48 say;0ed673079715c343281355c2a1fde843;2;laka;hello ;)"
Run Code Online (Sandbox Code Playgroud)
我使用一个简单的正则表达式解析这个:
if($line =~ /(\d+:\d+)\ssay;(.*);(.*);(.*);(.*)/) {
my($ts, $hash, $pid, $handle, $quote) = ($1, $2, $3, $4, $5);
}
Run Code Online (Sandbox Code Playgroud)
但是; 最后搞砸了,我不知道为什么.贪婪的操作员不应该处理"一切"吗?