diff options
| -rw-r--r-- | rust/src/identifiers.rs | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/rust/src/identifiers.rs b/rust/src/identifiers.rs index fead4272..37305677 100644 --- a/rust/src/identifiers.rs +++ b/rust/src/identifiers.rs @@ -106,7 +106,7 @@ fn test_check_username() {  pub fn check_pmcid(raw: &str) -> Result<()> {      lazy_static! { -        static ref RE: Regex = Regex::new(r"^PMC\d+$").unwrap(); +        static ref RE: Regex = Regex::new(r"^PMC\d+(\.\d+)?$").unwrap();      }      if raw.is_ascii() && RE.is_match(raw) {          Ok(()) @@ -121,9 +121,12 @@ pub fn check_pmcid(raw: &str) -> Result<()> {  #[test]  fn test_check_pmcid() {      assert!(check_pmcid("PMC12345").is_ok()); +    assert!(check_pmcid("PMC12345.1").is_ok()); +    assert!(check_pmcid("PMC12345.96").is_ok());      assert!(check_pmcid("PMC12345 ").is_err());      assert!(check_pmcid("PMC").is_err()); -    assert!(check_pmcid("PMC1.2345").is_err()); +    assert!(check_pmcid("PMC.3").is_err()); +    assert!(check_pmcid("PMC1123.").is_err());  }  pub fn check_pmid(raw: &str) -> Result<()> { | 
