SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Regexes
SoftFluent day
03/10/2013
Pablo Fernandez Duran
Reg-what?
•
•
•
•
•
•
•

Regular expressions
Describing a search pattern
Find and replace operations
1950
Regular language, formal language …
Different flavors -> PCRE (Perl Compatible Regular Expressions)

Now… not so regular
regex
regexp
reg-exp
^reg-?ex(?(?<=-ex)p|p?)(?(?<=x)e[sn]|s)?$

regexps
reg-exps
regexes
regexen

var re = new RegExp(/.*/); // js
var re = new Regex(".*"); // .NET
• We have a problem.
• Let’s use regexes !
• Now we have two problems.
What about you ?
• Can you read regexes ?
^[0-9]w*$

• Can you really read regexes ?
^[^)(]*((?>[^()]+|((?<p>)|)(?<-p>))*(?(p)(?!)))[^)(]*$
Language overview
•

Character classes

•

•

•
•
•
•

w (writable)

d (decimals)

s (spacing)

W (not w)

. (wildcard)

D (not d)

S (not s)

Character group [abc]
Negation [^a1]
Range [C-F] or [2-6A-D]
Differences [A-Z-[B]]

Anchors

•

^ (beginning of string or line)

$ (end of string or line)

b (word boundary)
B (not b)
Language overview
•

•

Quantifiers

•
•
•
•

Range : {n,m} , {n,}
Zero or more : * (can be written {0,})

One or more : + (can be written {1,})
Zero or one : ? (can be written {0,1})

Greedy vs Lazy

•
•

Greedy : the longest match (by default)
Lazy : the shortest match

•

*? , +? , ?? , {n,m}?
Language overview
•

•

Grouping constructs

•
•
•
•

Capturing group : (subexpression)
Named group : (?<group_name>subexpression)
Non capturing group : (?:subexpression)
Balancing groups : (?<name1-name2>subexpression)

Look around assertions (zero length)

•
•
•
•

Positive look ahead : (?=subexpression)
Negative look ahead : (?!subexpression)
Positive look behind : (?<=subexpression)
Negative look behind : (?<!subexpression)
Language overview
• Backreference constructs
•

groupnumber or k<groupname>

• Alternation constructs
•
•
•

(expression1|..|expressionn)
(?(expression)yes|no)
(?(referenced group)yes|no)
Format/Comment your code
As you do it when you write code…
public static void C(string an, string pn, string n, string nn) { RegexCompilationInfo[] re =
{
new
RegexCompilationInfo(pn,
RegexOptions.Compiled,
n,
nn,
true)
};
System.Reflection.AssemblyName asn = new System.Reflection.AssemblyName(); asn.Name = an;
Regex.CompileToAssembly(re, asn); }

Regexes can have inline comments:
(#comment)

And can be written in multiple lines (don’t forget the IgnorePatternWhitespace option ):
Before:
^[^()]*((?<g>()[^()]*)*((?<-g>))[^()]*)*[^()]*(?(g)(?!))$

After:
^ #start

[^()]* #everything but ()
(

(?<g>() #opening group (
[^()]* #everything but ()
)*
(
(?<-g>)) #closing group )

[^()]* #everything but ()
)*
[^()]* #everything but ()
(?(g) #if opening group remaining
(?!)) #then make match fail
$ #end
In .NET / C#
• A class to know : System.Text.RegularExpressions.Regex
• Represents the Regex engine
• A pattern is tightly coupled to the regex engine
• All regular expressions must be compiled (sooner or later)
• Initialization can be an expensive process
Regex options
•
•
•
•
•
•
•
•
•
•

None
IgnoreCase
Multiline
Singleline

ExplicitCapture
Compiled
IgnorePatternWhitespace
RightToLeft
ECMAScript
CultureInvariant

http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regexoptions.aspx
Instance or Static method calls ?

• Both provide the same matching/replacing methods
• Static method calls use caching (15 by default)
• Manage the cache size using Regex.CacheSize
• Only static calls use caching (since .NET 2.0)
Instance or Static method calls ?
•

new Regex(pattern).IsMatch(email)
Vs

•

Regex.IsMatch(email, pattern)

Data from:
http://blogs.msdn.com/b/bclteam/archive/2010/06/25/optimizing-regular-expression-performance-part-i-working-with-the-regex-class-and-regexobjects.aspx
Interpreted or compiled
•

Interpreted:

•
•
•

•

opcodes converted to MSIL and executed by the JIT when the method is called.
Startup time reduced but slower execution time

Compiled (RegexOptions.Compiled):

•
•

•

•

opcodes created on initialization (static or instance).

regex converted to MSIL code.
MSIL code executed by the JIT when the method is called.

Execution time reduced but slower startup time.

Compiled on design time:

•
•

•

Regex.CompileToAssembly
The regex is fixed and used only in instance calls.

Startup and execution time reduced at run-time but must be done design time.
Interpreted or compiled

Data from:
http://blogs.msdn.com/b/bclteam/archive/2010/06/25/opti
mizing-regular-expression-performance-part-i-workingwith-the-regex-class-and-regex-objects.aspx
Tools
• Regex Design
• Expresso
• The regex coach
• Regex buddy (not free)
• Rex (microsoft research)
• Visual Studio
Bonus
• Mail::RFC822::Address: regexp-based address validation
http://www.ex-parrot.com/~pdw/Mail-RFC822-Address.html

• A regular expression to check for prime numbers:
^1?$|^(11+?)1+$
http://montreal.pm.org/tech/neil_kandalgaonkar.shtml

• RegEx match open tags except XHTML self-contained tags (stackoverflow)
http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags
Regex optimization
•
•
•
•
•

Time out
Consider the input source
Capture only when necessary
Factorization
Backtracking
“In general, a Nondeterministic Finite Automaton (NFA) engine like the .NET
Framework regular expression engine places the responsibility for crafting
efficient, fast regular expressions on the developer.”
?

Weitere ähnliche Inhalte

Was ist angesagt?

Command line arguments that make you smile
Command line arguments that make you smileCommand line arguments that make you smile
Command line arguments that make you smileMartin Melin
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS charsbar
 
UNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYUNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYSignis Vavere
 
Elegant concurrency
Elegant concurrencyElegant concurrency
Elegant concurrencyMosky Liu
 
Go for Rubyists
Go for RubyistsGo for Rubyists
Go for Rubyiststchandy
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In PythonMarwan Osman
 
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, PuppetPuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, PuppetPuppet
 
Triton and symbolic execution on gdb
Triton and symbolic execution on gdbTriton and symbolic execution on gdb
Triton and symbolic execution on gdbWei-Bo Chen
 

Was ist angesagt? (10)

IO Streams, Files and Directories
IO Streams, Files and DirectoriesIO Streams, Files and Directories
IO Streams, Files and Directories
 
CL-NLP
CL-NLPCL-NLP
CL-NLP
 
Command line arguments that make you smile
Command line arguments that make you smileCommand line arguments that make you smile
Command line arguments that make you smile
 
typemap in Perl/XS
typemap in Perl/XS  typemap in Perl/XS
typemap in Perl/XS
 
UNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAYUNIX SHELL IN DBA EVERYDAY
UNIX SHELL IN DBA EVERYDAY
 
Elegant concurrency
Elegant concurrencyElegant concurrency
Elegant concurrency
 
Go for Rubyists
Go for RubyistsGo for Rubyists
Go for Rubyists
 
Programming Under Linux In Python
Programming Under Linux In PythonProgramming Under Linux In Python
Programming Under Linux In Python
 
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, PuppetPuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
PuppetConf 2017: Puppet Tasks: Taming ssh in a "for" loop- Alex Dreyer, Puppet
 
Triton and symbolic execution on gdb
Triton and symbolic execution on gdbTriton and symbolic execution on gdb
Triton and symbolic execution on gdb
 

Andere mochten auch

Stari Vršac od razglednice do digitalizacije
Stari Vršac   od razglednice do digitalizacijeStari Vršac   od razglednice do digitalizacije
Stari Vršac od razglednice do digitalizacijestarivrsac
 
хэрэглэгдэхүүн2
хэрэглэгдэхүүн2хэрэглэгдэхүүн2
хэрэглэгдэхүүн2ayur
 
Texas Trade Relationships 2004 - 2011
Texas Trade Relationships 2004 - 2011Texas Trade Relationships 2004 - 2011
Texas Trade Relationships 2004 - 2011Ports-To-Plains Blog
 
Tam quốc @
Tam quốc @Tam quốc @
Tam quốc @huyen1992
 
Inicio Y Escalada De La Violencia Colectiva 2010
Inicio Y Escalada De La Violencia Colectiva 2010Inicio Y Escalada De La Violencia Colectiva 2010
Inicio Y Escalada De La Violencia Colectiva 2010Otto Adang
 

Andere mochten auch (9)

Recent Work
Recent WorkRecent Work
Recent Work
 
Album de muestra de ciencias
Album de muestra de cienciasAlbum de muestra de ciencias
Album de muestra de ciencias
 
Stari Vršac od razglednice do digitalizacije
Stari Vršac   od razglednice do digitalizacijeStari Vršac   od razglednice do digitalizacije
Stari Vršac od razglednice do digitalizacije
 
хэрэглэгдэхүүн2
хэрэглэгдэхүүн2хэрэглэгдэхүүн2
хэрэглэгдэхүүн2
 
Dinner Get Together
Dinner Get TogetherDinner Get Together
Dinner Get Together
 
Strategic planning ufva
Strategic planning ufvaStrategic planning ufva
Strategic planning ufva
 
Texas Trade Relationships 2004 - 2011
Texas Trade Relationships 2004 - 2011Texas Trade Relationships 2004 - 2011
Texas Trade Relationships 2004 - 2011
 
Tam quốc @
Tam quốc @Tam quốc @
Tam quốc @
 
Inicio Y Escalada De La Violencia Colectiva 2010
Inicio Y Escalada De La Violencia Colectiva 2010Inicio Y Escalada De La Violencia Colectiva 2010
Inicio Y Escalada De La Violencia Colectiva 2010
 

Ähnlich wie Regexes in .NET

Coffee 'n code: Regexes
Coffee 'n code: RegexesCoffee 'n code: Regexes
Coffee 'n code: RegexesPhil Ewels
 
CiNPA Security SIG - Regex Presentation
CiNPA Security SIG - Regex PresentationCiNPA Security SIG - Regex Presentation
CiNPA Security SIG - Regex PresentationCiNPA Security SIG
 
Programming in Computational Biology
Programming in Computational BiologyProgramming in Computational Biology
Programming in Computational BiologyAtreyiB
 
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekingeBioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekingeProf. Wim Van Criekinge
 
Regular Expressions in PHP
Regular Expressions in PHPRegular Expressions in PHP
Regular Expressions in PHPAndrew Kandels
 
Regular expressions and php
Regular expressions and phpRegular expressions and php
Regular expressions and phpDavid Stockton
 
Extracting data from text documents using the regex
Extracting data from text documents using the regexExtracting data from text documents using the regex
Extracting data from text documents using the regexSteve Mylroie
 
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...openCypher
 
Unit 2 - Regular Expression.pptx
Unit 2 - Regular Expression.pptxUnit 2 - Regular Expression.pptx
Unit 2 - Regular Expression.pptxmythili213835
 
Unit 2 - Regular Expression .pptx
Unit 2 - Regular        Expression .pptxUnit 2 - Regular        Expression .pptx
Unit 2 - Regular Expression .pptxmythili213835
 
How to check valid Email? Find using regex.
How to check valid Email? Find using regex.How to check valid Email? Find using regex.
How to check valid Email? Find using regex.Poznań Ruby User Group
 
Introduction to Groovy (Serbian Developer Conference 2013)
Introduction to Groovy (Serbian Developer Conference 2013)Introduction to Groovy (Serbian Developer Conference 2013)
Introduction to Groovy (Serbian Developer Conference 2013)Joachim Baumann
 
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in TheoryWeek-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in TheoryBertram Ludäscher
 
OISF: Regular Expressions (Regex) Overview
OISF: Regular Expressions (Regex) OverviewOISF: Regular Expressions (Regex) Overview
OISF: Regular Expressions (Regex) OverviewCiNPA Security SIG
 

Ähnlich wie Regexes in .NET (20)

Coffee 'n code: Regexes
Coffee 'n code: RegexesCoffee 'n code: Regexes
Coffee 'n code: Regexes
 
CiNPA Security SIG - Regex Presentation
CiNPA Security SIG - Regex PresentationCiNPA Security SIG - Regex Presentation
CiNPA Security SIG - Regex Presentation
 
Programming in Computational Biology
Programming in Computational BiologyProgramming in Computational Biology
Programming in Computational Biology
 
Regular expression for everyone
Regular expression for everyoneRegular expression for everyone
Regular expression for everyone
 
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekingeBioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
Bioinformatics p2-p3-perl-regexes v2013-wim_vancriekinge
 
x86
x86x86
x86
 
Regular Expressions in PHP
Regular Expressions in PHPRegular Expressions in PHP
Regular Expressions in PHP
 
Php classes in mumbai
Php classes in mumbaiPhp classes in mumbai
Php classes in mumbai
 
Regular expressions and php
Regular expressions and phpRegular expressions and php
Regular expressions and php
 
Extracting data from text documents using the regex
Extracting data from text documents using the regexExtracting data from text documents using the regex
Extracting data from text documents using the regex
 
Regular expressions
Regular expressionsRegular expressions
Regular expressions
 
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
Future features for openCypher: Schema, Constraints, Subqueries, Configurable...
 
Unit 2 - Regular Expression.pptx
Unit 2 - Regular Expression.pptxUnit 2 - Regular Expression.pptx
Unit 2 - Regular Expression.pptx
 
Unit 2 - Regular Expression .pptx
Unit 2 - Regular        Expression .pptxUnit 2 - Regular        Expression .pptx
Unit 2 - Regular Expression .pptx
 
Bioinformatica p2-p3-introduction
Bioinformatica p2-p3-introductionBioinformatica p2-p3-introduction
Bioinformatica p2-p3-introduction
 
How to check valid Email? Find using regex.
How to check valid Email? Find using regex.How to check valid Email? Find using regex.
How to check valid Email? Find using regex.
 
Introduction to Groovy (Serbian Developer Conference 2013)
Introduction to Groovy (Serbian Developer Conference 2013)Introduction to Groovy (Serbian Developer Conference 2013)
Introduction to Groovy (Serbian Developer Conference 2013)
 
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in TheoryWeek-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
Week-2: Theory & Practice of Data Cleaning: Regular Expressions in Theory
 
OISF: Regular Expressions (Regex) Overview
OISF: Regular Expressions (Regex) OverviewOISF: Regular Expressions (Regex) Overview
OISF: Regular Expressions (Regex) Overview
 
Bioinformatics v2014 wim_vancriekinge
Bioinformatics v2014 wim_vancriekingeBioinformatics v2014 wim_vancriekinge
Bioinformatics v2014 wim_vancriekinge
 

Kürzlich hochgeladen

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Kürzlich hochgeladen (20)

New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

Regexes in .NET