PHP에서 코드가 있습니다. preg_grep을 사용하여 여러 단어를 어떤 순서로나 어떤 문맥에도 존재할 수 있도록했습니다. 나는 그것을 자바로 변환하려고하는데, 알아낼 수 없다. 정규식 문자열에 키워드를 변환자바 패턴 매칭
내 PHP 코드는 다음과 같습니다
function createRegexSearch($keywords)
{
$regex = '';
foreach ($keywords as $key)
$regex .= '(?=.*' . $key . ')';
return '/^' . $regex . '/i';
}
그것은 유사한 정규식 문자열을 만들 것입니다 : /^(?=.*bot)/i - 로봇과 일치해야합니다, 로봇, 봇 등. 동일한 정규 표현식 문자열은 나를 혼란스럽게하는 자바에서 작동하지 않는 것 같습니다. 현재 자바에서 나는 contains와 비슷한 효과를 만들었지 만 정규 표현식을 사용하려고한다. 첫 세트 (PHP 코드) \의 내가 사용 이후에 민감한 경우를 작동합니다 있도록 문자열이 포함
for (Map.Entry<String, String> entry : mKeyList.entrySet())
{
boolean found = true;
String val = entry.getValue().toLowerCase();
for (int i = 0; i < keywords.length; i++)
{
if (!val.contains(keywords[i].toLowerCase()))
found = false;
}
if (found)
ret.add(entry.getValue());
}
작동하지 않는 Java 코드를 게시 할 수 있습니까? – gcochard