我有一个正则表达式字符串,它匹配我需要的字符串的特定部分here。
/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g
我想在javascript中使用此正则表达式来删除与正则表达式不匹配的字符串部分,然后将结果存储在变量中。我似乎无法找到任何方法来做到这一点!
我在JS中找到的唯一正则表达式函数是compile(),exec(),test()和toString()。这些似乎都不符合我的需求。我怎么能这样做?
由于
答案 0 :(得分:3)
使用<Page.Resources>
<DataTemplate x:Key="ImageOverlayGalleryFolderDataTemplate">
<Grid Background="#FF939598" Height="200" Width="300">
<Image Source="{Binding Image}" Stretch="UniformToFill"/>
<StackPanel Orientation="Vertical" Background="#CC000000" Height="30" VerticalAlignment="Bottom">
<TextBlock Text="{Binding Text}"
Margin="10,3,0,0" Width="186" Height="20"
TextTrimming="WordEllipsis" HorizontalAlignment="Left" Foreground="White"/>
</StackPanel>
</Grid>
</DataTemplate>
</Page.Resources>
<Grid Background="{ThemeResource AppBarItemForegroundThemeBrush}">
<GridView x:Name="ImageOverlayGalleryFolderGrid"
CanReorderItems="True" CanDragItems="True"
ItemTemplate="{StaticResource ImageOverlayGalleryFolderDataTemplate}" >
<GridView.ItemsPanel>
<ItemsPanelTemplate>
<ItemsWrapGrid MaximumRowsOrColumns="5"/>
</ItemsPanelTemplate>
</GridView.ItemsPanel>
</GridView>
</Grid>
函数将所有匹配的字符作为数组元素返回。
string.match
如果您要删除匹配的部分,请使用string.match(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g)
string.replace
答案 1 :(得分:1)
执行此操作的方法是使用string.match()
功能,如Mozilla Developer Page上所示。
因此,您的函数调用看起来像
string.match(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g)
如果您计划剥离任何不匹配的内容,那么您可以使用
string.replace(/[^\/,\s\?#]+?\.[^\/,\s]+?(?=\/|\s|$|\?|#)/g, '')
,如here所示,然后将其存储到另一个变量中。