Regex
Pattern.matches(".s", myString)
عبارت بالا اگر mySrting یک رشته دو حرفی باشد که حرف اولش هر چه باشد و حرف دومش s باشد مقدار true را برمیگرداند.
---------------------------
[abc] با a، b یا c (کلاس ساده) همخوانی دارد.[^abc] با تمامی کاراکترها به جز a، b یا c منطبق است (negation یا نقیض).[a-zA-Z] از کاراکتر a گرفته تا z یا از A بزرگ تا Z بزرگ را شامل شده و با هر کاراکتری که بین این دو حرف باشد، منطبق می شود (inclusive range یا شامل شونده ی تمامی حروف بین بازه ی مزبور).[a-d[m-p]] با کاراکترهایی که بین دو حرف a تا d هستند یا بین بازه ی m تا p قرار دارند، مطابقت پیدا می کند
: [a-dm-p] (union)[a-z&&[def]] فقط با d، e یا f (intersection) مطابقت دارد.[a-z&&[^bc]] با تمامی حروفی که بین بازه ی a تا z قرار دارند، به استثنای دو حرف b و c ، منطبق می شود.((subtraction [ad-z][a-z&&[^m-p]] با تمامی حروف بین بازه ی a تا z به استثنای m،n، o و p منطبق می باشد: [a-lq-z]
---------------------------
Regex Quantifier
X? کاراکتر Xتنها یکبار تکرار می شود یا اصلا تکرار نمی شود.X+ کاراکتر X حداقل یکبار یا دفعات بیشتری تکرار می شود.X* X می تواند تکرار نشود یا چندین بار در متن مورد نظر نمونه ی آن یافت شود.X{n} کاراکتر X فقط به تعداد معین شده تکرار می شود.X{n,} کاراکتر X به تعداد دفعات معین شده یا بیشتر در متن یا بستر مورد نظر تکرار می شود.X{y,z} کاراکتر X به تعداد دفعات y تکرار می شود اما حتما کمتر از مقدار z
System.out.println(Pattern.matches("[amn]?", "a"));//true (a or m or n comes one time)
System.out.println(Pattern.matches("[amn]?", "aaa"));//false (a comes more than one time)
---------------------------
Metacharacter
. با هر کاراکتری منطبق می شود (ممکن است با نقطه ی انتهای رشته/terminator نیز منطبق باشد یا با آن مطابقت پیدا نکند.) \d با تمامی اعداد منطبق می باشد و در واقع ورژن مختصر الگوی[0-9] می باشد. \D با تمامی کاراکترهای غیر عددی منطبق می شود و در واقع ورژن مختصر [^0-9] می باشد. \s با تمامی کاراکترهای فاصله (whitespace) منطبق می باشد و ورژن مختصر الگوی طولانی [\t\n\x0B\f\r] می باشد. \S با تمامی کاراکترها به غیر از فاصله (whitespace) منطبق شده و ورژن مختصر الگوی [^\s] می باشد. \w با تمامی کاراکترهای ASCII مطابقت خواهد داشت و ورژن مختصر الگوی [a-zA-Z_0-9] می باشد.\W با تمامی کاراکترهای غیر ASCII یا non-word منطبق خواهد شد و در واقع نسخه ی مختصر الگوی[^\w] می باشد. \b word boundary word boundary با مکان های قرارگیری منطبق می شود که یک طرف word و طرف دیگر یک non word می باشد.\B یک non word boundary با هر کاراکتر non word ای که در هر جایی از یک رشته قرار داشته باشد، منطبق می شود.