regex: bug fix about \w \W backslash chars (#11176)
							parent
							
								
									b72d1e5e86
								
							
						
					
					
						commit
						fb3671107e
					
				| 
						 | 
				
			
			@ -90,8 +90,8 @@ For example `\w` is the meta-char `w`.
 | 
			
		|||
 | 
			
		||||
A meta-char can match different types of characters.
 | 
			
		||||
 | 
			
		||||
* `\w` matches an alphanumeric char `[a-zA-Z0-9_]`
 | 
			
		||||
* `\W` matches a non alphanumeric char
 | 
			
		||||
* `\w` matches a word char char `[a-zA-Z0-9_]`
 | 
			
		||||
* `\W` matches a non word char
 | 
			
		||||
* `\d` matches a digit `[0-9]`
 | 
			
		||||
* `\D` matches a non digit
 | 
			
		||||
* `\s` matches a space char, one of `[' ','\t','\n','\r','\v','\f']`
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -127,7 +127,7 @@ fn is_alnum(in_char byte) bool {
 | 
			
		|||
	if tmp <= 9 {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	if tmp == `_` {
 | 
			
		||||
	if in_char == `_` {
 | 
			
		||||
		return true
 | 
			
		||||
	}
 | 
			
		||||
	return false
 | 
			
		||||
| 
						 | 
				
			
			@ -159,6 +159,7 @@ fn is_not_digit(in_char byte) bool {
 | 
			
		|||
	return !is_digit(in_char)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
[inline]
 | 
			
		||||
fn is_wordchar(in_char byte) bool {
 | 
			
		||||
	return is_alnum(in_char) || in_char == `_`
 | 
			
		||||
| 
						 | 
				
			
			@ -168,6 +169,7 @@ fn is_wordchar(in_char byte) bool {
 | 
			
		|||
fn is_not_wordchar(in_char byte) bool {
 | 
			
		||||
	return !is_alnum(in_char)
 | 
			
		||||
}
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
[inline]
 | 
			
		||||
fn is_lower(in_char byte) bool {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -19,7 +19,7 @@ match_test_suite = [
 | 
			
		|||
	TestItem{"d.def",r"abc.\.[\w\-]{,100}",-1,0},
 | 
			
		||||
	TestItem{"abc12345.asd",r"abc.\.[\w\-]{,100}",-1,0},
 | 
			
		||||
	TestItem{"abca.exe",r"abc.\.[\w\-]{,100}",0,8},
 | 
			
		||||
	TestItem{"abc2.exe-test_12",r"abc.\.[\w\-]{,100}",0,13},
 | 
			
		||||
	TestItem{"abc2.exe-test_12",r"abc.\.[\w\-]{,100}",0,16},
 | 
			
		||||
	TestItem{"abcdefGHK",r"[a-f]+\A+",0,9},
 | 
			
		||||
	TestItem{"ab-cd-efGHK",r"[a-f\-g]+\A+",0,11},
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -138,6 +138,8 @@ match_test_suite = [
 | 
			
		|||
	// test bcksls chars
 | 
			
		||||
	TestItem{"[ an s. s! ]( wi4ki:something )", r"\[.*\]\( *(\w*:*\w+) *\)",0,31},
 | 
			
		||||
	TestItem{"[ an s. s! ](wiki:something)", r"\[.*\]\( *(\w*:*\w+) *\)",0,28},
 | 
			
		||||
	TestItem{"p_p", r"\w+",0,3},
 | 
			
		||||
	TestItem{"p_é", r"\w+",0,2},
 | 
			
		||||
	
 | 
			
		||||
	// Crazywulf tests (?:^|[()])(\d+)(*)(\d+)(?:$|[()])
 | 
			
		||||
    TestItem{"1*1", r"(\d+)([*])(\d+)",0,3},
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue