正则表达式帮助字母数字和国际字符

时间:2014-06-10 14:07:40

标签: regex

我只想允许

  • 数字
  • 字母
  • 空间
  • 国际快报

我要删除的任何其他内容。

我正在使用Coldfusion。我真的没有尝试过多,因为我之前从未真正使用过正则表达式。我想删除“坏”字符

到目前为止我正在做的事情:

<cfset theText = "Baum -$&*( 5 Steine hoch groß 3 Stück grün****">

<cfset test1 = rereplace(theText, '[\p{L}0-9 ]', ' ', 'all')>
<cfset test2 = rereplace(theText, '[^\p{L}0-9 ]', ' ', 'all')>

结果:

Original Text: Baum -$&*( 5 Steine hoch groß 3 Stück grün****
Test 1 Result: Baum -$&*( Steine hoch groß Stück grün****
Test 2 Result: 5 3

最后,我结束了这样做,它似乎正在给我我需要的东西..

<cfset finalFile = varData.replaceAll('[^\p{L}0-9-.: ]',' ') />

1 个答案:

答案 0 :(得分:2)

你的问题有点模糊,但这个正则表达式听起来可能符合你的描述。

[^\p{L}0-9 ]

您没有指定语言或风格,因此假设支持\p{L},只需将匹配此模式的任何内容替换为空字符串""

小型演示:http://rubular.com/r/W4q5PFSJRg