Skip to content

NimTechnology

Trình bày các công nghệ CLOUD một cách dễ hiểu.

  • Kubernetes & Container
    • Docker
    • Kubernetes
      • Ingress
      • Pod
    • Helm Chart
    • OAuth2 Proxy
    • Isito-EnvoyFilter
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Vault
    • Longhorn – Storage
    • VictoriaMetrics
    • MetalLB
    • Kong Gateway
  • CI/CD
    • ArgoCD
    • ArgoWorkflows
    • Argo Events
    • Spinnaker
    • Jenkins
    • Harbor
    • TeamCity
    • Git
      • Bitbucket
  • Coding
    • DevSecOps
    • Terraform
      • GCP – Google Cloud
      • AWS – Amazon Web Service
      • Azure Cloud
    • Golang
    • Laravel
    • Python
    • Jquery & JavaScript
    • Selenium
  • Log, Monitor & Tracing
    • DataDog
    • Prometheus
    • Grafana
    • ELK
      • Kibana
      • Logstash
  • BareMetal
    • NextCloud
  • Toggle search form

[Golang] To use regex to filter and give any values you want.

Posted on October 13, 2023November 30, 2023 By nim No Comments on [Golang] To use regex to filter and give any values you want.

Ví dụ như bạn có 1 ký tự 52.2 m² và bạn muốn lấy 52.2 sau đó lưu vào database.

Certainly! Let’s break down the regular expression and the code:

Contents

Toggle
  • The Regular Expression: (\d+(\.\d+)?)\s*m?
  • The Code:

The Regular Expression: (\d+(\.\d+)?)\s*m?

  1. (\d+(\.\d+)?)
  • This is the main capturing group that captures the area value.
  • \d+: Matches one or more digits (0-9). This will match whole numbers.
  • (\.\d+)?: This is a nested capturing group that matches a decimal point followed by one or more digits. The ? at the end makes this whole group optional, so the regex can match both whole numbers and decimal numbers.
    • \.: Matches a literal decimal point.
    • \d+: Matches one or more digits after the decimal point.
  1. \s*
  • Matches zero or more whitespace characters. This allows for potential spaces between the number and the “m”.
  1. m?
  • Matches the letter ‘m’ zero or one time. The ? makes it optional. This can be useful if sometimes the input might just say “52.2m” instead of “52.2 m²”.

The Code:

  1. areaRegex := regexp.MustCompile((\d+(.\d+)?)\s*m?)
  • This line compiles the regular expression. MustCompile will panic if the regex does not compile correctly, ensuring that invalid patterns are caught during program initialization.
  1. areaMatch := areaRegex.FindStringSubmatch(str)
  • FindStringSubmatch searches for the pattern in the provided string and returns the matches in a slice. The first item in the slice (areaMatch[0]) is the entire matched string, and the subsequent items are the captured groups. In our case, areaMatch[1] will contain the area value we’re interested in.
  1. if len(areaMatch) > 0 { ... }
  • Checks if there was a match. If there was a match, the length of areaMatch will be greater than 0.
  1. fmt.Println("Area:", areaMatch[1])
  • Prints the captured area value.

So, when the string “52.2 m²” is processed with this code, the regular expression will recognize “52.2” as the area value and print it out.

Golang

Post navigation

Previous Post: [Golang] Return Error in Golang
Next Post: [Docker] Pulling unlimited public docker images

More Related Articles

[Golang] Validate trong golang và echo framework. Golang
[Golang] Looking filepath.Walk to return any file and children folder in the folder Golang
[Golang] Return Error in Golang Golang
[Golang] Note mấy thứ hay ho về golang Coding
[Terminal/Huh] Build Terminal Form By golang. Golang
[Golang] Thiết kế model trong golang và echo framework. Golang

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Tham Gia Group DevOps nhé!
Để Nim có nhiều động lực ra nhiều bài viết.
Để nhận được những thông báo mới nhất.

Recent Posts

  • [Azure] The subscription is not registered to use namespace ‘Microsoft.ContainerService’ May 8, 2025
  • [Azure] Insufficient regional vcpu quota left May 8, 2025
  • [WordPress] How to add a Dynamic watermark on WordPress. May 6, 2025
  • [vnet/Azure] VNet provisioning via Terraform. April 28, 2025
  • [tracetcp] How to perform a tracert command using a specific port. April 3, 2025

Archives

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024
  • November 2024
  • October 2024
  • September 2024
  • August 2024
  • July 2024
  • June 2024
  • May 2024
  • April 2024
  • March 2024
  • February 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • July 2023
  • June 2023
  • May 2023
  • April 2023
  • March 2023
  • February 2023
  • January 2023
  • December 2022
  • November 2022
  • October 2022
  • September 2022
  • August 2022
  • July 2022
  • June 2022
  • May 2022
  • April 2022
  • March 2022
  • February 2022
  • January 2022
  • December 2021
  • November 2021
  • October 2021
  • September 2021
  • August 2021
  • July 2021
  • June 2021

Categories

  • BareMetal
    • NextCloud
  • CI/CD
    • Argo Events
    • ArgoCD
    • ArgoWorkflows
    • Git
      • Bitbucket
    • Harbor
    • Jenkins
    • Spinnaker
    • TeamCity
  • Coding
    • DevSecOps
    • Golang
    • Jquery & JavaScript
    • Laravel
    • NextJS 14 & ReactJS & Type Script
    • Python
    • Selenium
    • Terraform
      • AWS – Amazon Web Service
      • Azure Cloud
      • GCP – Google Cloud
  • Kubernetes & Container
    • Apache Kafka
      • Kafka
      • Kafka Connect
      • Lenses
    • Docker
    • Helm Chart
    • Isito-EnvoyFilter
    • Kong Gateway
    • Kubernetes
      • Ingress
      • Pod
    • Longhorn – Storage
    • MetalLB
    • OAuth2 Proxy
    • Vault
    • VictoriaMetrics
  • Log, Monitor & Tracing
    • DataDog
    • ELK
      • Kibana
      • Logstash
    • Fluent
    • Grafana
    • Prometheus
  • Uncategorized
  • Admin

Copyright © 2025 NimTechnology.