2009-06-12 4 views
4

나는 간단하다고 생각하지만 하나를 쓰기에는 너무 멍청하다. 누군가가 적어도 하나의 문자와 적어도 하나의 숫자에 대해 주어진 문자열을 검사하는 정규 표현식을 제공 할 수 있습니까?적어도 하나의 문자와 1 개의 숫자를 가진 정규 표현식

설명을 추가해주세요.

+0

정규식 구문이 다양 할 수 있으므로 작업중인 언어/프레임 워크를 말해야합니다. 이것은 .NET, Perl, Python, ...입니까? – AakashM

+0

안녕하세요, .net 프레임 워크 (C#)를 사용하고 있습니다. – Eros

답변

6

입술하지 여러 개의 주문처럼 매우 복잡한 것들에 대한 좋은하지만이 간단한 한으로 표현할 수 있어야한다 :

[A-Za-z].*[0-9]|[0-9].*[A-Za-z] 
+0

이 유효성을 검사하기 위해이 표현식을 수정할 수 있습니까?! $$ aawdEEQ! – Eros

+0

어, 그렇습니다 .... – annakata

+0

죄송합니다, 네, 감사합니다. :) – Eros

1

두 개의 수표를 사용하는 것이 훨씬 쉽습니다. 하나는 문자열, 하나는 숫자입니다.

다음 편지에 당신이 수 후 편지 당신이 정의에 따라 번호가 있어야합니다 모두 가지고있는 것처럼보고,하지만 작동 할 수 있습니다 다음 (또는 그 반대) 같은

뭔가 :

([A-Za-z][0-9]|[0-9][A-Za-z]) 

업데이트 : 가짜 '|'을 삭제했습니다. 위의 내용은 유효하지 않은 다른 문자는 유효하지 않다고 가정합니다. 구두점이 허용되는 경우 더 나은 해결책을 찾으려면 다른 답변을 참조하십시오.

+1

나는 내 스타일이 아닌 당신을 downvote하지 않았지만, 내게 RE는 "0", "A"등의 문자열과 일치합니다. 편지와 번호가 없어. 두 번째 "|" 우연히 거기에있다. 그러나 그때조차도 나는 당신의 가정이 잘못되었다고 생각한다. 설명은 "0, A"가 유효하고 편지 옆에 숫자가 없다는 것을 나타내는 것으로 보인다. – paxdiablo

+0

고마워 - 가짜 '|' 내 원래의 의도가 아니 었습니다. 왜 사람들이 말하지 않고 downvote 때 그것은 나를 귀찮게하지, 난 그냥 당신이 말한 것 때문이라고 생각해야합니다 :) – samjudson

+0

그래, 그 이유는 내가 downvoted. – CiscoIPPhone

2

가장 좋은 방법은 것 별도로 2 정규식 사용이 확인 될 : /[a-z]/i/\d/을 .

암호에 대한 보안 규칙을 적용하려는 경우 (예 : str_split 인 PHP에서) 암호를 분리하고 각 문자 유형의 발생 횟수를 계산하면 암호 강도를 추정 할 수 있습니다. 당신은 당신의 규칙을 적용합니다.

성능이 암호 변경을 위해, 당신은

1

누군가가 이미 응답 한 ... 20K 침에 그것을하지 않습니다하지만 당신이 유용한도 ...

그것을 찾을 수있는 경우 문제가되지 않습니다 .NET으로 작성된 시각적 인 정규 표현식 빌더. 그것의 아주 차가운, 당신은 당신이 얻는 무슨을 즉시에서 볼 수있다. 그것을 확인하십시오 here.

는 :

1

나는 그것이 매우 중요한 생각하지 않는다 그러나 나는이 방법을했다.

([A-Za-z])+([0-9])+|([0-9])+([A-Za-z])+
+1

이 답변은 약간의 사랑이 필요합니다. –