我在使用 ColdFusion (不是我曾经用过的语言)方面遇到了一些困难。
我正在尝试执行正则表达式来获取字符串的一部分。例如,如果我的字符串是:D_CECILA23_CEC23423
我想要两个下划线之间的部分。
这是我到目前为止的代码,它适用于任何字母字符,但是当一个数字被放入混合中时,它就会中断。
<cfset myStr = "D_CELCI_LISA">
<cfset myStr2 = reReplace(myStr, "([\w\d\%]+)(\_)([/ A-Z]+)(\_)([\w\d\?]+)", "\3", "all") >
<cfoutput>
myStr: #myStr#<br />
myStr2: #myStr2#<br />
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
这给了我:
myStr: D_CELCI_LISA
myStr2: CELCI
Run Code Online (Sandbox Code Playgroud)
如果它确实像获取第一个和第二个下划线字符之间的文本一样简单,则不需要正则表达式。这会做到这一点:
myStr2 = listGetAt(myStr, 2, "_");
Run Code Online (Sandbox Code Playgroud)
也就是说,这应该适用于该上下文中的正则表达式:^.*_([^_]+)_.*$,例如:
myStr2 = reReplace(myStr, "^.*_([^_]+)_.*$", "\1", "all");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3045 次 |
| 最近记录: |