문자열 분할을 위한 정규식: 따옴표 내의 공백 무시
해당 공백이 단일 또는 이중으로 묶인 경우 문자열 분할을 위한 공백을 식별하는 것이 어려울 수 있습니다. 인용 부호. 이 문제를 해결하려면 다음 정규 표현식을 고려하십시오.
[^\s"']+|\"([^\"]*)"|'([^']*)'
이 표현식은 문자열을 두 가지 유형의 패턴으로 구분합니다.
Java 구현:
다음 Java 코드는 이 정규 표현식을 사용하여 문자열:
List<String> matchList = new ArrayList<>(); Pattern regex = Pattern.compile("[^\s\"']+|\"([^\"]*)"|'([^']*)'"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { if (regexMatcher.group(1) != null) { matchList.add(regexMatcher.group(1)); // Double-quoted string } else if (regexMatcher.group(2) != null) { matchList.add(regexMatcher.group(2)); // Single-quoted string } else { matchList.add(regexMatcher.group()); // Unquoted word } }
간단함 옵션:
반환된 목록에 따옴표를 유지하는 것이 허용되는 경우 코드의 더 간단한 버전이 가능합니다.
List<String> matchList = new ArrayList<>(); Pattern regex = Pattern.compile("[^\s\"']+|\"[^\"]*\"|'[^']*'"); Matcher regexMatcher = regex.matcher(subjectString); while (regexMatcher.find()) { matchList.add(regexMatcher.group()); }
이 접근 방식은 덜 복잡하지만 반환된 목록에 따옴표가 포함됩니다. 요소를 나열합니다.
위 내용은 정규식을 사용하여 따옴표 안의 공백으로 문자열을 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!