正規表現では、引用符で囲まれたセクション内にスペースを保持したまま、スペースを使用して文字列を分割することができます。これを実現する方法は次のとおりです。
引用符の前のスペースで分割する元の式 (?!") の問題に対処するには、次の正規表現を検討してください。
[^\s"']+|"([^"]*)"|'([^']*)'
This式は 3 つをキャプチャしますパターン:
文字列を分割するには、次のような 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()); } }
このコードは、引用符で囲まれた単語から引用符を取り除き、その中のスペースを保持して、文字列のリストを構築します。
以上が正規表現を使用して引用符で囲まれたセクションを保持しながら文字列をスペースで分割するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。