Java
import java.util.Arrays;import Java.util.regex.Matcher;import Java.util.regex.Pattern; Public classTest { Public Static void Main(string[] args) {String s ="123-4567-89"; Pattern R = Pattern.Compile("\\d{3}-(\\d{4})-\\d{2} "); Matcher m = r.Matcher(s);if(M.Find()) for(inti =0; I <= M.GroupCount(); i++) System.out.printf("group%d : %s\n", I, M.Group(i));//https://stackoverflow.com/questions/19737653/ What-is-the-equivalent-of-regex-replace-with-function-evaluation-in-java-7R = Pattern.Compile("\\d+ "); m = R.Matcher(s); StringBuffer SB =NewStringBuffer (); while(M.Find()) {m.appendreplacement(SB,NewStringBuffer (M.Group(0)).Reverse().toString()); } m.Appendtail(SB); System. out.println(sb.)toString()); R = Pattern.Compile("% (begin|next|end)%"); s ="%begin%hello%next%world%end%"; System. out.println(Arrays.aslist(R.Split(s))); }}/*Group 0:123-4567-89Group 1:4567321-7654-98[, Hello, World] */
C
using System;using System.Text.RegularExpressions;namespace Sample{ class Test { public static void Main(string[] args) { var r = new Regex(@"\d{3}-(\d{4})-\d{2}"); var s = "123-4567-89"; var m = r.Match(s); foreach (Group g in m.Groups) Console.WriteLine($"group {g.Index} : {g.Value}"); r = new Regex(@"\d+"); s = r.Replace(s, m2 => { var arr = m2.Groups[0].Value.ToCharArray(); Array.Reverse(arr); return new string(arr); }); Console.WriteLine(s); r = new Regex("%(?:begin|next|end)%"); s = "%begin%hello%next%world%end%"; foreach (var s2 in r.Split(s)) Console.WriteLine(s2); } }}/*group 0 : 123-4567-89group 4 : 4567321-7654-98helloworld*/
Regular Expressions (java,c#,c++)