我有以下字符串:
test123 test ödo 123teö"st 123 m.1212 123t.est
我只想匹配字符串,数字和特殊字符混合在一起的整个字符串。因此正则表达式应匹配上面示例的以下字符串:
test123 测试ödo123teö“st 123 m.1212 123t.est
有人可以帮帮我吗?
更新 很抱歉没有给出我需要的明确解释。
我正在使用C#。
我需要找到包含字母数字字符串的单词(例如abc123,123abc,a1b2c3,1abc23等)。此外,我需要找到包含任何类型符号的字符串(符号=除字符和数字之外的任何其他字符)(例如abc“123,”abc,ab?dd,100mm“,345t {asd] dd)
< / LI>如果找到匹配项,我需要“标记”(用空格分隔数字,单词字符和符号)这些字符串,以便abc123
成为abc 123
或345t{asd]dd
345 t { asd ] dd
等
答案 0 :(得分:2)
假设您正在使用支持前瞻和Unicode属性的正则表达式风格,这应该可以帮助您入门:
(?!(?:\pL+|\pN+|\pP+)(?!\S))\S+
\S+
匹配一个或多个非空白字符,但只有在负前瞻声明这些字符不是所有字母(\pL
),数字(\pN
)或标点符号之后(\pP
)。 内部否定前瞻 - (?!\S)
- 确保外部人员检查所有字词中的字符。
虽然它可能满足您的要求,但这个正则表达式实际上只是您可能想要使用的技术的演示。实际上,它可以被“单词”所愚弄,例如控制字符或其中的dingbats。
答案 1 :(得分:0)
您实际问过的问题的答案是(?s).+
,但也许您会关注优化问题。