使用Swift 5.7+ Regex查找字符串中的范围

mutmk8jj  于 2023-08-08  发布在  Swift
关注(0)|答案(1)|浏览(99)

下面是Swift中的一种传统方法,用于搜索字符串中的正则表达式,并返回找到它的范围(如果没有找到,则返回nil):

let range = myString.range(of: "\\s*\\d+", options: [.regularExpression])

字符串
不幸的是,正则表达式字符串"\\s*\\d+"需要在运行时编译,并且需要特殊的转义(例如,\\s而不仅仅是\s)。
我如何升级它以使用现代Swift 5.7+ Regex literals?基本上,我想写一些类似于:

let range = myString.range(of: /\s*\d+/)


(我不想使用传统的NSRegularExpression方法。)

ie3xauqp

ie3xauqp1#

您需要使用名为firstRange(of:)的相关方法

func firstRange(of regex: some RegexComponent) -> Range<Self.Index>?

个字符

相关问题