【问题标题】:Regex help for Alphanumeric and International characters字母数字和国际字符的正则表达式帮助
【发布时间】:2014-06-11 02:51:17
【问题描述】:

我只想允许

  • 数字
  • 信件
  • 空间
  • 国际信件

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

我正在使用 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-.: ]',' ') />

【问题讨论】:

  • 国际信件是什么意思?
  • 您使用的是什么正则表达式工具/语言?
  • 到目前为止你尝试过什么?稍微展示一下努力就好了。
  • 我已经添加了更多细节,谢谢。

标签: regex


【解决方案1】:

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

[^\p{L}0-9 ]

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

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

【讨论】:

  • 很抱歉,如果不够详细。我正在使用冷融合。我想在标题中找到疯狂的字符并删除它们,只允许我列出的那些。
  • 基本上我在做这样的事情:
  • 更新您的问题,而不是在 cmets 中发布详细信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-01
  • 1970-01-01
相关资源
最近更新 更多