Skip to content

A simple / light weight / independent regular expression extesion for Swift String. 轻量正则表达式

License

Notifications You must be signed in to change notification settings

PerfectSideRepos/Perfect-RegEx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

A simple / light weight / independent regular expression extesion for Swift String. 轻量正则表达式

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •