Swift에서 정규표현식을 Python처럼 쉽게 다뤄보세요.
import PySwiftyRegex
if let m = re.search("[Tt]his is (.*?)easy", "I think this is really easy!!!") {
m.group() // "this is really easy"
m.group(1) // "really "
}
아래에서 더 많은 예제를 볼 수 있습니다.
- iOS 7.0+ / Mac OS X 10.9+
- Xcode 8.0+
Swift 2.3의 경우 버전 0.3.0를 이용해주십시오.
임베드된 프레임워크를 사용하려면 iOS 8 또는 OS X Mavericks 이상을 지원해야 합니다.
PySwiftyRegex
을 iOS 7 타겟 프로젝트에서 사용하려면 CocoaSeeds를 사용하거나 혹은 PySwiftyRegex.swift 파일을 다운받아 프로젝트에 직접 포함시켜야 합니다.
CocoaPods를 사용해서 PySwiftyRegex
를 쉽게 설치할 수 있습니다. 다음과 같은 내용의 Podfile을 만들어주세요.
platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
pod 'PySwiftyRegex', '~> 1.0.0'
end
그리고 쉘에서 아래 명령어를 실행하면 설치됩니다.
$ pod install
Cartfile 또는 Cartfile.private에 아래 라인을 추가합니다.
github "cezheng/PySwiftyRegex" ~> 1.0.0
그리고 쉘에서 다음 명령어를 실행합니다.
$ carthage update
Carthage가 생성한 PySwiftyRegex.framework를 Xcode 프로젝트의 'General' 설정 아래의 'Embedded Binaries'에 추가합니다.
CocoaSeeds를 사용하면 Swift로 작성된 라이브러리를 iOS 7 프로젝트에서 사용할 수 있습니다.
먼저, Seedfile을 생성합니다.
target :MyApp do
github 'cezheng/PySwiftyRegex', '1.0.0', :files => 'PySwiftyRegex/PySwiftyRegex.swift'
end
그리고 다음과 같은 쉘 명령어를 실행합니다.
$ seed install
PySwiftyRegex.swift 파일이 Xcode 프로젝트에 자동으로 포함된 것을 볼 수 있습니다. 즐코딩!
Python의 re 모듈에 익숙하다면 사용하는데 어려움이 없을 것입니다. 처음이거나 익숙하지 않은 경우, 아래 항목들을 보고 Python에서 정규표현식을 다루는 방식이 NSRegularExpression
보다 어떻게 더 좋은지 확인해보세요.
let regex = re.compile("this(.+)that")
if let m = regex.match("this one is different from that") {
m.group() //"this one is different from that"
m.group(1) //" one is different from "
}
if let m = regex.search("I want this one, not that one") {
m.group() //"this one, not that one"
m.group(1) //" one, not "
}
regex.findall("this or that, this and that") // ["this or that", "this and that"]
for m in regex.finditer("this or that, this and that") {
m.group() // 1st time: "this or that", 2nd time: "this and that"
m.group(1) // 1st time: " or ", 2nd time: " and "
}
let regex = re.compile("[\\+\\-\\*/]")
// By default, will split at all occurrences of the pattern
regex.split("1+2-3*4/5") // ["1", "2", "3", "4", "5"]
// Setting a maxsplit = 2
regex.split("1+2-3*4/5", 2) // ["1", "2", "3*4/5"]
let regex = re.compile("[Yy]ou")
// Replacing all occurrences (2 times in this example)
regex.sub("u", "You guys go grap your food") // "u guys go grap ur food"
regex.subn("u", "You guys go grap your food") // ("u guys go grap ur food", 2)
// Setting maximum replace count = 1 (1 times in this example)
regex.sub("u", "You guys go grap your food", 1) // "u guys go grap your food"
regex.subn("u", "You guys go grap your food", 1) // ("u guys go grap your food", 1)
PySwiftyRegex
는 MIT 라이센스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참고하세요.