정규 표현식에서는 인용된 섹션 내에 공백을 유지하면서 공백을 사용하여 문자열을 분할할 수 있습니다. 이를 달성하는 방법은 다음과 같습니다.
따옴표 앞의 공백으로 분할되는 원래 표현식(?!")의 문제를 해결하려면 다음 정규 표현식을 고려하세요.
[^\s"']+|"([^"]*)"|'([^']*)'
이것은 표현은 세 가지를 포착합니다 패턴:
문자열을 분할하려면 다음과 같은 Java 코드를 사용할 수 있습니다. this:
List<String> matchList = new ArrayList<>(); Pattern regex = Pattern.compile("[^\s\"']+|\"([^\"]*)\"|'([^']*)'"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { if (regexMatcher.group(1) != null) { // Add double-quoted string without the quotes matchList.add(regexMatcher.group(1)); } else if (regexMatcher.group(2) != null) { // Add single-quoted string without the quotes matchList.add(regexMatcher.group(2)); } else { // Add unquoted word matchList.add(regexMatcher.group()); } }
이 코드는 인용된 단어에서 따옴표를 제거하고 그 안의 공백을 유지하여 문자열 목록을 작성합니다.
위 내용은 Regex를 사용하여 인용 섹션을 유지하면서 문자열을 공백으로 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!