Swiftpack.co - Package - PerfectSideRepos/Perfect-RegEx

String Extension of Regular Expression 简体中文

Get Involed with Perfect!

Star Perfect On Github Stack Overflow Follow Perfect on Twitter Join the Perfect Slack

Swift 4.0 Platforms OS X | Linux License Apache PerfectlySoft Twitter Slack Status

This project provides a light weight / simple regular expression extension for Swift String.

This package builds with Swift Package Manager and is part of the Perfect project. It was written to be stand-alone and so does not require PerfectLib or any other components.

Ensure you have installed and activated the latest Swift 4.0 tool chain.

Building

Add this project as a dependency in your Package.swift file.

.package(url:"https://github.com/PerfectSideRepos/Perfect-RegEx.git", from: "3.1.0")

... 
dependencies: ["Regex"]

Then please add the following line to the beginning part of swift sources:

import Regex

Quick Start

The following demo shows how to extract substring ranges with a pattern:

var source = "there is a bloody bad bread on my bed."

let ranges = source.match(pattern: "b[a-z]+d")

// it will figure out the range of `blood`, `bad` `bread` and `bed`
let found:[String] = ranges.map { String(source[$0]) }
print("found", found)


// you can do further operations, such as remove:
source.removeSubrange(ranges[0])

print(source)
// the result should be:
// there is a y bad bread on my bed.

API Info

extension String {
	/// test if the string contains certain pattern
 	/// - parameters:
 	///   - pattern: string to recognize
 	/// - return: true for found
  public func contains(pattern: String) -> Bool

  /// find string ranges
  /// - parameters:
  ///   - pattern: string to recognize
  /// - return: a string range array
  public func match(pattern: String) -> [Range<String.Index>]
}

Issues

We are transitioning to using JIRA for all bugs and support related issues, therefore the GitHub issues has been disabled.

If you find a mistake, bug, or any other helpful suggestion you'd like to make on the docs please head over to http://jira.perfect.org:8080/servicedesk/customer/portal/1 and raise it.

A comprehensive list of open issues can be found at http://jira.perfect.org:8080/projects/ISS/issues

Further Information

For more information on the Perfect project, please visit perfect.org.

Github

link
Stars: 7
Help us keep the lights on

Dependencies

Used By

Total: 1

Releases

3.1.1 - Nov 22, 2017

3.1.0 - Nov 21, 2017

3.0.0 - Sep 29, 2017

1.1.0 - Apr 20, 2017

1.0.2 - Feb 22, 2017