有人有一个很好的正则表达式吗?例如:
This is *an* example
Run Code Online (Sandbox Code Playgroud)
应该成为
This is <b>an</b> example
Run Code Online (Sandbox Code Playgroud)
我需要在Objective C中运行它,但我可能会自己解决这个问题.这是正在给我带来麻烦的正则表达式(如此生锈......).这是我到目前为止所拥有的:
s/\*([0-9a-zA-Z ])\*/<b>$1<\/b>/g
Run Code Online (Sandbox Code Playgroud)
但它似乎没有奏效.有任何想法吗?谢谢 :)
编辑:谢谢你的答案:)如果有人想知道Objective-C中的这个是什么,使用RegexKitLite:
NSString *textWithBoldTags = [inputText stringByReplacingOccurrencesOfRegex:@"\\*([0-9a-zA-Z ]+?)\\*" withString:@"<b>$1<\\/b>"];
Run Code Online (Sandbox Code Playgroud)
再次编辑:实际上,要包含更多字符以进行粗体处理,我将其更改为:
NSString *textWithBoldTags = [inputText stringByReplacingOccurrencesOfRegex:@"\\*([^\\*]+?)\\*" withString:@"<b>$1<\\/b>"];
Run Code Online (Sandbox Code Playgroud)
你为什么不这样做\*[^*]+?\*并用它替换<b>$1<\/b>?
你只匹配*s 之间的一个字符.试试这个:
s/\*([0-9a-zA-Z ]*?)\*/<b>$1<\/b>/g
Run Code Online (Sandbox Code Playgroud)
或者确保*s 之间至少有一个字符:
s/\*([0-9a-zA-Z ]+?)\*/<b>$1<\/b>/g
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1696 次 |
| 最近记录: |