私のregExpが正しい結果を得られないため、どこに間違いがあるかわかりません。RegExpの結果が期待通りではない
let ori_str = "abcXabcYabcZ" // there are 3 Capital character
let pattern = "[A-Z]"
let regular = try!NSRegularExpression(pattern: pattern, options: .caseInsensitive)
let results = regular.matches(in: ori_str, options: .reportProgress , range: NSMakeRange(0, ori_str.characters.count))
print("results have: \(results.count) count") // log 'result have: 12 count' why 12 without 3 ???
は、私はその後、資本文字を取得-(the Capital character's lower character)-
にそれらを交換したいのですが、私の正規表現の結果は、資本の文字のコンソール12カウントです。
1)表示されていますが、間違いはどこですか3。
2)大文字を-(the capital's lower character)-
に置き換える方法は?
追加-1
は以下NSRegularExpression.Options
のすべてがあります。
public static var caseInsensitive: NSRegularExpression.Options { get }
public static var allowCommentsAndWhitespace: NSRegularExpression.Options { get }
public static var ignoreMetacharacters: NSRegularExpression.Options { get }
public static var dotMatchesLineSeparators: NSRegularExpression.Options { get }
public static var anchorsMatchLines: NSRegularExpression.Options { get }
public static var useUnixLineSeparators: NSRegularExpression.Options { get }
public static var useUnicodeWordBoundaries: NSRegularExpression.Options { get }`
'.caseInsensitive'? – Tushar
@タシャールは間違っていますか?それを置き換える方法? – aircraft
大文字と小文字を区別する必要があります。 'options:.caseInsensitive'とすると、大文字と小文字を区別しません。私の前提が正しい場合、それを削除してみることができますか?デフォルトでは大文字と小文字が区別されます。 – Tushar