{"id":13458755,"url":"https://github.com/VerbalExpressions/JavaVerbalExpressions","last_synced_at":"2025-03-24T15:32:03.457Z","repository":{"id":9711568,"uuid":"11665119","full_name":"VerbalExpressions/JavaVerbalExpressions","owner":"VerbalExpressions","description":"Java regular expressions made easy.","archived":false,"fork":false,"pushed_at":"2025-03-02T01:17:03.000Z","size":189,"stargazers_count":2625,"open_issues_count":15,"forks_count":241,"subscribers_count":100,"default_branch":"master","last_synced_at":"2025-03-18T23:40:09.548Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VerbalExpressions.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-07-25T16:15:26.000Z","updated_at":"2025-03-08T10:17:16.000Z","dependencies_parsed_at":"2023-01-13T15:31:35.029Z","dependency_job_id":"b0485fab-cf2a-4239-84b8-5b6bd0330dea","html_url":"https://github.com/VerbalExpressions/JavaVerbalExpressions","commit_stats":{"total_commits":93,"total_committers":30,"mean_commits":3.1,"dds":0.7956989247311828,"last_synced_commit":"af9201eab97599e78a036a02c6e06c9ffdbd759f"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VerbalExpressions%2FJavaVerbalExpressions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VerbalExpressions%2FJavaVerbalExpressions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VerbalExpressions%2FJavaVerbalExpressions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VerbalExpressions%2FJavaVerbalExpressions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VerbalExpressions","download_url":"https://codeload.github.com/VerbalExpressions/JavaVerbalExpressions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245298210,"owners_count":20592563,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-07-31T09:00:56.808Z","updated_at":"2025-03-24T15:31:58.441Z","avatar_url":"https://github.com/VerbalExpressions.png","language":"Java","readme":"JavaVerbalExpressions\n=====================\n[![release](http://github-release-version.herokuapp.com/github/VerbalExpressions/JavaVerbalExpressions/release.svg?style=flat)](https://github.com/VerbalExpressions/JavaVerbalExpressions/releases/latest) [![Maven Central](https://maven-badges.herokuapp.com/maven-central/ru.lanwen.verbalregex/java-verbal-expressions/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/ru.lanwen.verbalregex/java-verbal-expressions)\n[\u003cimg src=\"http://img.shields.io/badge/ported%20from-%20JSVerbalExpressions-orange.svg?style=flat\"\u003e](https://github.com/VerbalExpressions/JSVerbalExpressions)\n[![Coverage Status](https://coveralls.io/repos/VerbalExpressions/JavaVerbalExpressions/badge.svg)](https://coveralls.io/r/VerbalExpressions/JavaVerbalExpressions)\n\nVerbalExpressions is a Java library that helps to construct difficult regular expressions.\n\n\n\n## Getting Started\n\nMaven Dependency:\n\n```xml\n\u003cdependency\u003e\n  \u003cgroupId\u003eru.lanwen.verbalregex\u003c/groupId\u003e\n  \u003cartifactId\u003ejava-verbal-expressions\u003c/artifactId\u003e\n  \u003cversion\u003e1.8\u003c/version\u003e\n\u003c/dependency\u003e\n```\n\nYou can use *SNAPSHOT* dependency with adding to `pom.xml`:\n```xml\n\u003crepositories\u003e\n  \u003crepository\u003e\n    \u003cid\u003eossrh\u003c/id\u003e\n    \u003curl\u003ehttps://oss.sonatype.org/content/repositories/snapshots\u003c/url\u003e\n  \u003c/repository\u003e\n\u003c/repositories\u003e\n```\n\n## Examples\n```java\nVerbalExpression testRegex = VerbalExpression.regex()\n                                                .startOfLine().then(\"http\").maybe(\"s\")\n\t           \t\t\t\t.then(\"://\")\n\t           \t\t\t\t.maybe(\"www.\").anythingBut(\" \")\n\t           \t\t\t\t.endOfLine()\n\t           \t\t\t\t.build();\n\n// Create an example URL\nString url = \"https://www.google.com\";\n\n// Use VerbalExpression's testExact() method to test if the entire string matches the regex\ntestRegex.testExact(url); //True\n\ntestRegex.toString(); // Outputs the regex used:\n                      // ^(?:http)(?:s)?(?:\\:\\/\\/)(?:www\\.)?(?:[^\\ ]*)$\n\n```\n\n```java\nVerbalExpression testRegex = VerbalExpression.regex()\n                                                .startOfLine().then(\"abc\").or(\"def\")\n                                                .build();\n\nString testString = \"defzzz\";\n\n//Use VerbalExpression's test() method to test if parts if the string match the regex\ntestRegex.test(testString);       // true\ntestRegex.testExact(testString);  // false\ntestRegex.getText(testString);    // returns: def\n```\n\nBuilder can be cloned:\n```java\nVerbalExpression regex = regex(regex().anything().addModifier('i')).endOfLine().build();\n``` \n\nOr can be used in another regex: \n```java\nVerbalExpression.Builder digits = regex().capt().digit().oneOrMore().endCapt().tab();\nVerbalExpression regex2 = regex().add(digits).add(digits).build();\n``` \n\nFeel free to use any predefined char groups: \n```java\nregex().wordChar().nonWordChar()\n   .space().nonSpace()\n   .digit().nonDigit()\n```\n\nDefine captures:\n```java \nString text = \"aaabcd\";\nVerbalExpression regex = regex()\n                .find(\"a\")\n                .capture().find(\"b\").anything().endCapture().then(\"cd\").build();\n\nregex.getText(text)     // returns \"abcd\"\nregex.getText(text, 1)  // returns \"b\"\n``` \n\n## More complex examples \n* [Parse long strings example](https://github.com/VerbalExpressions/JavaVerbalExpressions/wiki/Parse-long-strings-example)\n\n## Other implementations  \nYou can view all implementations on [VerbalExpressions.github.io](http://VerbalExpressions.github.io) \n\n[\n[Javascript](https://github.com/VerbalExpressions/JSVerbalExpressions) - \n[PHP](https://github.com/VerbalExpressions/PHPVerbalExpressions) - \n[Python](https://github.com/VerbalExpressions/PythonVerbalExpressions) - \n[C#](https://github.com/VerbalExpressions/CSharpVerbalExpressions) - \n[Objective-C](https://github.com/VerbalExpressions/ObjectiveCVerbalExpressions) - \n[Ruby](https://github.com/ryan-endacott/verbal_expressions) - \n[Groovy](https://github.com/VerbalExpressions/GroovyVerbalExpressions) - \n[Haskell](https://github.com/VerbalExpressions/HaskellVerbalExpressions) - \n[C++](https://github.com/VerbalExpressions/CppVerbalExpressions) - ... ([moarr](https://github.com/VerbalExpressions)) ] \n\n## Project released with travis\n\nWith help of this tutorial:\nhttps://dracoblue.net/dev/uploading-snapshots-and-releases-to-maven-central-with-travis/\n","funding_links":[],"categories":["Java","Projects","项目","Utility"],"sub_categories":["Utility","实用程序"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVerbalExpressions%2FJavaVerbalExpressions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FVerbalExpressions%2FJavaVerbalExpressions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FVerbalExpressions%2FJavaVerbalExpressions/lists"}