私がある文字列があります。以下のパターンで正規表現パターンの周りに単語を取り込む方法は?
let s : String = "The dog ate the cat."
:
let p : NSRegularExpression = try! NSRegularExpression(pattern: "\\w()?dog()?\\w"), options: .CaseInsensitive)
を私の質問は:私は、パターンの発生前と発生後の単語を取得するにはどうすればよいですか?
これは私の現在の実装である:
let t : [NSTextCheckingResults] = p.matchesInString(s, options: [], NSMakeRange(0, NSString(string: s).length))
print(String(t[0].URL!))
は、しかし、これは望ましい結果を返しません。
正規表現に問題がありますか?
あなたのパターンは、現在は、電子犬それはあなたが本当に欲しいものA'ある 'なっていますか?それを見てください:https://regex101.com/r/zM6aF2/1 –
それはありません。それは以前よりも多くの情報ですが。私が印刷するときのすべてのXcodeショーは: "\\ w()?dog()?\\ w" –
まあ、私はiosの開発者ではありません。私は正規表現についてのみ知識を共有していました。 objCがscapingする必要があるかどうかわからない。正規表現では、あなたがあなたの質問で尋ねるものを得るために必要なパターンは '(。+)\ bdog \ b(。+)'になります。この正規表現を参照してください:https://regex101.com/r/zM6aF2/2 –