add string verifying w/ regex
This commit is contained in:
		
							
								
								
									
										7
									
								
								go.mod
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								go.mod
									
									
									
									
									
								
							| @@ -2,9 +2,14 @@ module unpackstring | |||||||
|  |  | ||||||
| go 1.19 | go 1.19 | ||||||
|  |  | ||||||
| require github.com/stretchr/testify v1.7.0 | require ( | ||||||
|  | 	github.com/gijsbers/go-pcre v0.0.0-20161214203829-a84f3096ab3c | ||||||
|  | 	github.com/stretchr/testify v1.7.0 | ||||||
|  | ) | ||||||
|  |  | ||||||
| require ( | require ( | ||||||
|  | 	github.com/GRbit/go-pcre v1.0.1 // indirect | ||||||
| 	github.com/davecgh/go-spew v1.1.1 // indirect | 	github.com/davecgh/go-spew v1.1.1 // indirect | ||||||
|  | 	github.com/pmezard/go-difflib v1.0.0 // indirect | ||||||
| 	gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect | 	gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect | ||||||
| ) | ) | ||||||
|   | |||||||
							
								
								
									
										4
									
								
								go.sum
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								go.sum
									
									
									
									
									
								
							| @@ -1,6 +1,10 @@ | |||||||
|  | github.com/GRbit/go-pcre v1.0.1 h1:8F7Wj1rxIq8ejKSXVVW2wE+4I4VnZbuOemrMk8kn3hc= | ||||||
|  | github.com/GRbit/go-pcre v1.0.1/go.mod h1:0g7qVGbMpd2Odevd92x1RpaLpR3c3F/Gv2HEnI7CwEA= | ||||||
| github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
| github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= | ||||||
| github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= | ||||||
|  | github.com/gijsbers/go-pcre v0.0.0-20161214203829-a84f3096ab3c h1:o5z/Stj4aWUiDiCVFdEOgXcwNF+Z7mQSlvDTaWBK98Q= | ||||||
|  | github.com/gijsbers/go-pcre v0.0.0-20161214203829-a84f3096ab3c/go.mod h1:Bd83Kcti1U5OMXYYTjilhd6os+l6AmlTMVbDtaBvycQ= | ||||||
| github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= | ||||||
| github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= | ||||||
| github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								unpack.go
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								unpack.go
									
									
									
									
									
								
							| @@ -2,12 +2,21 @@ package unpackstring | |||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"errors" | 	"errors" | ||||||
|  | 	"github.com/GRbit/go-pcre" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| var ErrInvalidString = errors.New("invalid string") | var ErrInvalidString = errors.New("invalid string") | ||||||
|  |  | ||||||
| func Unpack(_ string) (string, error) { | func Unpack(str string) (string, error) { | ||||||
| 	// Place your code here. | 	// Place your code here. | ||||||
| 	// test |  | ||||||
|  | 	re, _ := pcre.Compile(`^\d|\d{2,}|\\(?=\D)|(?=\\)`, pcre.UTF8) | ||||||
|  |  | ||||||
|  | 	res := re.MatchStringWFlags(str, pcre.UTF8) | ||||||
|  |  | ||||||
|  | 	if res == true { | ||||||
|  | 		return "", ErrInvalidString | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	return "", nil | 	return "", nil | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user