2011-09-13 62 views
1

我必须编写一个允许字母和数字的正则表达式,但不允许字符如/和? 。有人可以帮我解决这个问题吗?在此先感谢正则表达式允许某些字符并禁用其他字符

+1

其中正则表达式的味道多个字符?你认为'à',''或'Щ'是字母还是'3'或'8'是数字? –

+0

请列举您想要允许的内容,或者您​​想禁止的内容。没有这个澄清,我们无法帮助你(也无法自己解决这个问题)。 – tripleee

回答

1

此正则表达式做了你问什么:

^(?!.*(/|\?))[a-zA-Z0-9]+$ 

它仅仅只在由单独的字母和/或数字输入相匹配,再加上它的负前瞻,以确保没有/?

要排除特殊字符,只需将它们添加到向前看,例如也排除@使用本(?!.*(/|\?|@))(在?需要用反斜杠\转义)

+0

我不想阻止所有的特殊字符。只有一些数字,比如?和/提一对夫妇。 –

+0

确定 - 编辑做一个负向前排除某些特殊字符 – Bohemian

+0

我测试了这个表达式,它确实阻止了所需的字符,但它似乎不允许字母数字字符以及..... –

0

的元字符\w匹配字母数字,其指所有数字,ASCII字母和下划线(_)。

1

假设你要允许不仅仅是ASCII字母和数字(和你的正则表达式的味道支持Unicode)以上,就可以使用

^[\p{L}\p{N}]*$ 
0

你可以试着集中精力,你不字符要允许如果清单更加清晰超过允许一个:

^[^\?\/\s\(\)]+$ 

填写[]与你不喜欢

相关问题